[class^=ant-]::-ms-clear,
[class*= ant-]::-ms-clear,
[class^=ant-] input::-ms-clear,
[class*= ant-] input::-ms-clear,
[class^=ant-] input::-ms-reveal,
[class*= ant-] input::-ms-reveal {
  display: none;
}
[class^=ant-],
[class*= ant-],
[class^=ant-] *,
[class*= ant-] *,
[class^=ant-] *::before,
[class*= ant-] *::before,
[class^=ant-] *::after,
[class*= ant-] *::after {
  box-sizing: border-box;
}
/* stylelint-disable at-rule-no-unknown */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  margin: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-variant: tabular-nums;
  line-height: 1.5715;
  background-color: #000;
  font-feature-settings: 'tnum';
}
[tabindex='-1']:focus {
  outline: none !important;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: #cf191f;
  text-decoration: none;
  background-color: transparent;
  outline: none;
  cursor: pointer;
  transition: color 0.3s;
  -webkit-text-decoration-skip: objects;
}
a:hover {
  color: #8e171b;
}
a:active {
  color: #c73939;
}
a:active,
a:hover {
  text-decoration: none;
  outline: 0;
}
a:focus {
  text-decoration: none;
  outline: 0;
}
a[disabled] {
  color: rgba(255, 255, 255, 0.3);
  cursor: not-allowed;
  pointer-events: none;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
svg:not(:root) {
  overflow: hidden;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  color: rgba(255, 255, 255, 0.45);
  text-align: left;
  caption-side: bottom;
}
th {
  text-align: inherit;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #2b2611;
}
::-moz-selection {
  color: #fff;
  background: #cf191f;
}
::selection {
  color: #fff;
  background: #cf191f;
}
.clearfix::before {
  display: table;
  content: '';
}
.clearfix::after {
  display: table;
  clear: both;
  content: '';
}
.anticon {
  display: inline-block;
  color: inherit;
  font-style: normal;
  line-height: 0;
  text-align: center;
  text-transform: none;
  vertical-align: -0.125em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.anticon > * {
  line-height: 1;
}
.anticon svg {
  display: inline-block;
}
.anticon::before {
  display: none;
}
.anticon .anticon-icon {
  display: block;
}
.anticon[tabindex] {
  cursor: pointer;
}
.anticon-spin::before {
  display: inline-block;
  -webkit-animation: loadingCircle 1s infinite linear;
          animation: loadingCircle 1s infinite linear;
}
.anticon-spin {
  display: inline-block;
  -webkit-animation: loadingCircle 1s infinite linear;
          animation: loadingCircle 1s infinite linear;
}
.fade-enter,
.fade-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.fade-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.fade-enter.fade-enter-active,
.fade-appear.fade-appear-active {
  -webkit-animation-name: antFadeIn;
          animation-name: antFadeIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-leave.fade-leave-active {
  -webkit-animation-name: antFadeOut;
          animation-name: antFadeOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.fade-enter,
.fade-appear {
  opacity: 0;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}
.fade-leave {
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}
@-webkit-keyframes antFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes antFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes antFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes antFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.move-up-enter,
.move-up-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-up-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-up-enter.move-up-enter-active,
.move-up-appear.move-up-appear-active {
  -webkit-animation-name: antMoveUpIn;
          animation-name: antMoveUpIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.move-up-leave.move-up-leave-active {
  -webkit-animation-name: antMoveUpOut;
          animation-name: antMoveUpOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.move-up-enter,
.move-up-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.move-up-leave {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
.move-down-enter,
.move-down-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-down-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-down-enter.move-down-enter-active,
.move-down-appear.move-down-appear-active {
  -webkit-animation-name: antMoveDownIn;
          animation-name: antMoveDownIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.move-down-leave.move-down-leave-active {
  -webkit-animation-name: antMoveDownOut;
          animation-name: antMoveDownOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.move-down-enter,
.move-down-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.move-down-leave {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
.move-left-enter,
.move-left-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-left-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-left-enter.move-left-enter-active,
.move-left-appear.move-left-appear-active {
  -webkit-animation-name: antMoveLeftIn;
          animation-name: antMoveLeftIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.move-left-leave.move-left-leave-active {
  -webkit-animation-name: antMoveLeftOut;
          animation-name: antMoveLeftOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.move-left-enter,
.move-left-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.move-left-leave {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
.move-right-enter,
.move-right-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-right-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-right-enter.move-right-enter-active,
.move-right-appear.move-right-appear-active {
  -webkit-animation-name: antMoveRightIn;
          animation-name: antMoveRightIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.move-right-leave.move-right-leave-active {
  -webkit-animation-name: antMoveRightOut;
          animation-name: antMoveRightOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.move-right-enter,
.move-right-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.move-right-leave {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
@-webkit-keyframes antMoveDownIn {
  0% {
    transform: translateY(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes antMoveDownIn {
  0% {
    transform: translateY(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes antMoveDownOut {
  0% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateY(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@keyframes antMoveDownOut {
  0% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateY(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@-webkit-keyframes antMoveLeftIn {
  0% {
    transform: translateX(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes antMoveLeftIn {
  0% {
    transform: translateX(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes antMoveLeftOut {
  0% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateX(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@keyframes antMoveLeftOut {
  0% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateX(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@-webkit-keyframes antMoveRightIn {
  0% {
    transform: translateX(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes antMoveRightIn {
  0% {
    transform: translateX(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes antMoveRightOut {
  0% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@keyframes antMoveRightOut {
  0% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@-webkit-keyframes antMoveUpIn {
  0% {
    transform: translateY(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes antMoveUpIn {
  0% {
    transform: translateY(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes antMoveUpOut {
  0% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateY(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@keyframes antMoveUpOut {
  0% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateY(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@-webkit-keyframes loadingCircle {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loadingCircle {
  100% {
    transform: rotate(360deg);
  }
}
[ant-click-animating='true'],
[ant-click-animating-without-extra-node='true'] {
  position: relative;
}
html {
  --antd-wave-shadow-color: #cf191f;
  --scroll-bar: 0;
}
[ant-click-animating-without-extra-node='true']::after,
.ant-click-animating-node {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  border-radius: inherit;
  box-shadow: 0 0 0 0 #cf191f;
  box-shadow: 0 0 0 0 var(--antd-wave-shadow-color);
  opacity: 0.2;
  -webkit-animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1);
          animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  content: '';
  pointer-events: none;
}
@-webkit-keyframes waveEffect {
  100% {
    box-shadow: 0 0 0 #cf191f;
    box-shadow: 0 0 0 6px var(--antd-wave-shadow-color);
  }
}
@keyframes waveEffect {
  100% {
    box-shadow: 0 0 0 #cf191f;
    box-shadow: 0 0 0 6px var(--antd-wave-shadow-color);
  }
}
@-webkit-keyframes fadeEffect {
  100% {
    opacity: 0;
  }
}
@keyframes fadeEffect {
  100% {
    opacity: 0;
  }
}
.slide-up-enter,
.slide-up-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-up-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-up-enter.slide-up-enter-active,
.slide-up-appear.slide-up-appear-active {
  -webkit-animation-name: antSlideUpIn;
          animation-name: antSlideUpIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.slide-up-leave.slide-up-leave-active {
  -webkit-animation-name: antSlideUpOut;
          animation-name: antSlideUpOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.slide-up-enter,
.slide-up-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.slide-up-leave {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
.slide-down-enter,
.slide-down-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-down-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-down-enter.slide-down-enter-active,
.slide-down-appear.slide-down-appear-active {
  -webkit-animation-name: antSlideDownIn;
          animation-name: antSlideDownIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.slide-down-leave.slide-down-leave-active {
  -webkit-animation-name: antSlideDownOut;
          animation-name: antSlideDownOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.slide-down-enter,
.slide-down-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.slide-down-leave {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
.slide-left-enter,
.slide-left-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-left-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-left-enter.slide-left-enter-active,
.slide-left-appear.slide-left-appear-active {
  -webkit-animation-name: antSlideLeftIn;
          animation-name: antSlideLeftIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.slide-left-leave.slide-left-leave-active {
  -webkit-animation-name: antSlideLeftOut;
          animation-name: antSlideLeftOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.slide-left-enter,
.slide-left-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.slide-left-leave {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
.slide-right-enter,
.slide-right-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-right-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-right-enter.slide-right-enter-active,
.slide-right-appear.slide-right-appear-active {
  -webkit-animation-name: antSlideRightIn;
          animation-name: antSlideRightIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.slide-right-leave.slide-right-leave-active {
  -webkit-animation-name: antSlideRightOut;
          animation-name: antSlideRightOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.slide-right-enter,
.slide-right-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.slide-right-leave {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
@-webkit-keyframes antSlideUpIn {
  0% {
    transform: scaleY(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
}
@keyframes antSlideUpIn {
  0% {
    transform: scaleY(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
}
@-webkit-keyframes antSlideUpOut {
  0% {
    transform: scaleY(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleY(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
}
@keyframes antSlideUpOut {
  0% {
    transform: scaleY(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleY(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
}
@-webkit-keyframes antSlideDownIn {
  0% {
    transform: scaleY(0.8);
    transform-origin: 100% 100%;
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 100% 100%;
    opacity: 1;
  }
}
@keyframes antSlideDownIn {
  0% {
    transform: scaleY(0.8);
    transform-origin: 100% 100%;
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 100% 100%;
    opacity: 1;
  }
}
@-webkit-keyframes antSlideDownOut {
  0% {
    transform: scaleY(1);
    transform-origin: 100% 100%;
    opacity: 1;
  }
  100% {
    transform: scaleY(0.8);
    transform-origin: 100% 100%;
    opacity: 0;
  }
}
@keyframes antSlideDownOut {
  0% {
    transform: scaleY(1);
    transform-origin: 100% 100%;
    opacity: 1;
  }
  100% {
    transform: scaleY(0.8);
    transform-origin: 100% 100%;
    opacity: 0;
  }
}
@-webkit-keyframes antSlideLeftIn {
  0% {
    transform: scaleX(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
}
@keyframes antSlideLeftIn {
  0% {
    transform: scaleX(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
}
@-webkit-keyframes antSlideLeftOut {
  0% {
    transform: scaleX(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleX(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
}
@keyframes antSlideLeftOut {
  0% {
    transform: scaleX(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleX(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
}
@-webkit-keyframes antSlideRightIn {
  0% {
    transform: scaleX(0.8);
    transform-origin: 100% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
}
@keyframes antSlideRightIn {
  0% {
    transform: scaleX(0.8);
    transform-origin: 100% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
}
@-webkit-keyframes antSlideRightOut {
  0% {
    transform: scaleX(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleX(0.8);
    transform-origin: 100% 0%;
    opacity: 0;
  }
}
@keyframes antSlideRightOut {
  0% {
    transform: scaleX(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleX(0.8);
    transform-origin: 100% 0%;
    opacity: 0;
  }
}
.zoom-enter,
.zoom-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-enter.zoom-enter-active,
.zoom-appear.zoom-appear-active {
  -webkit-animation-name: antZoomIn;
          animation-name: antZoomIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-leave.zoom-leave-active {
  -webkit-animation-name: antZoomOut;
          animation-name: antZoomOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-enter,
.zoom-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-enter-prepare,
.zoom-appear-prepare {
  transform: none;
}
.zoom-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-big-enter,
.zoom-big-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-big-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-big-enter.zoom-big-enter-active,
.zoom-big-appear.zoom-big-appear-active {
  -webkit-animation-name: antZoomBigIn;
          animation-name: antZoomBigIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-big-leave.zoom-big-leave-active {
  -webkit-animation-name: antZoomBigOut;
          animation-name: antZoomBigOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-big-enter,
.zoom-big-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-big-enter-prepare,
.zoom-big-appear-prepare {
  transform: none;
}
.zoom-big-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-big-fast-enter,
.zoom-big-fast-appear {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-big-fast-leave {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-big-fast-enter.zoom-big-fast-enter-active,
.zoom-big-fast-appear.zoom-big-fast-appear-active {
  -webkit-animation-name: antZoomBigIn;
          animation-name: antZoomBigIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-big-fast-leave.zoom-big-fast-leave-active {
  -webkit-animation-name: antZoomBigOut;
          animation-name: antZoomBigOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-big-fast-enter,
.zoom-big-fast-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-big-fast-enter-prepare,
.zoom-big-fast-appear-prepare {
  transform: none;
}
.zoom-big-fast-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-up-enter,
.zoom-up-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-up-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-up-enter.zoom-up-enter-active,
.zoom-up-appear.zoom-up-appear-active {
  -webkit-animation-name: antZoomUpIn;
          animation-name: antZoomUpIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-up-leave.zoom-up-leave-active {
  -webkit-animation-name: antZoomUpOut;
          animation-name: antZoomUpOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-up-enter,
.zoom-up-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-up-enter-prepare,
.zoom-up-appear-prepare {
  transform: none;
}
.zoom-up-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-down-enter,
.zoom-down-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-down-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-down-enter.zoom-down-enter-active,
.zoom-down-appear.zoom-down-appear-active {
  -webkit-animation-name: antZoomDownIn;
          animation-name: antZoomDownIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-down-leave.zoom-down-leave-active {
  -webkit-animation-name: antZoomDownOut;
          animation-name: antZoomDownOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-down-enter,
.zoom-down-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-down-enter-prepare,
.zoom-down-appear-prepare {
  transform: none;
}
.zoom-down-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-left-enter,
.zoom-left-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-left-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-left-enter.zoom-left-enter-active,
.zoom-left-appear.zoom-left-appear-active {
  -webkit-animation-name: antZoomLeftIn;
          animation-name: antZoomLeftIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-left-leave.zoom-left-leave-active {
  -webkit-animation-name: antZoomLeftOut;
          animation-name: antZoomLeftOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-left-enter,
.zoom-left-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-left-enter-prepare,
.zoom-left-appear-prepare {
  transform: none;
}
.zoom-left-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-right-enter,
.zoom-right-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-right-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-right-enter.zoom-right-enter-active,
.zoom-right-appear.zoom-right-appear-active {
  -webkit-animation-name: antZoomRightIn;
          animation-name: antZoomRightIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-right-leave.zoom-right-leave-active {
  -webkit-animation-name: antZoomRightOut;
          animation-name: antZoomRightOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-right-enter,
.zoom-right-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-right-enter-prepare,
.zoom-right-appear-prepare {
  transform: none;
}
.zoom-right-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
@-webkit-keyframes antZoomIn {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes antZoomIn {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes antZoomOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.2);
    opacity: 0;
  }
}
@keyframes antZoomOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.2);
    opacity: 0;
  }
}
@-webkit-keyframes antZoomBigIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes antZoomBigIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes antZoomBigOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.8);
    opacity: 0;
  }
}
@keyframes antZoomBigOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.8);
    opacity: 0;
  }
}
@-webkit-keyframes antZoomUpIn {
  0% {
    transform: scale(0.8);
    transform-origin: 50% 0%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 0%;
  }
}
@keyframes antZoomUpIn {
  0% {
    transform: scale(0.8);
    transform-origin: 50% 0%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 0%;
  }
}
@-webkit-keyframes antZoomUpOut {
  0% {
    transform: scale(1);
    transform-origin: 50% 0%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 50% 0%;
    opacity: 0;
  }
}
@keyframes antZoomUpOut {
  0% {
    transform: scale(1);
    transform-origin: 50% 0%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 50% 0%;
    opacity: 0;
  }
}
@-webkit-keyframes antZoomLeftIn {
  0% {
    transform: scale(0.8);
    transform-origin: 0% 50%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 0% 50%;
  }
}
@keyframes antZoomLeftIn {
  0% {
    transform: scale(0.8);
    transform-origin: 0% 50%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 0% 50%;
  }
}
@-webkit-keyframes antZoomLeftOut {
  0% {
    transform: scale(1);
    transform-origin: 0% 50%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 0% 50%;
    opacity: 0;
  }
}
@keyframes antZoomLeftOut {
  0% {
    transform: scale(1);
    transform-origin: 0% 50%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 0% 50%;
    opacity: 0;
  }
}
@-webkit-keyframes antZoomRightIn {
  0% {
    transform: scale(0.8);
    transform-origin: 100% 50%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 100% 50%;
  }
}
@keyframes antZoomRightIn {
  0% {
    transform: scale(0.8);
    transform-origin: 100% 50%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 100% 50%;
  }
}
@-webkit-keyframes antZoomRightOut {
  0% {
    transform: scale(1);
    transform-origin: 100% 50%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 100% 50%;
    opacity: 0;
  }
}
@keyframes antZoomRightOut {
  0% {
    transform: scale(1);
    transform-origin: 100% 50%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 100% 50%;
    opacity: 0;
  }
}
@-webkit-keyframes antZoomDownIn {
  0% {
    transform: scale(0.8);
    transform-origin: 50% 100%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 100%;
  }
}
@keyframes antZoomDownIn {
  0% {
    transform: scale(0.8);
    transform-origin: 50% 100%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 100%;
  }
}
@-webkit-keyframes antZoomDownOut {
  0% {
    transform: scale(1);
    transform-origin: 50% 100%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 50% 100%;
    opacity: 0;
  }
}
@keyframes antZoomDownOut {
  0% {
    transform: scale(1);
    transform-origin: 50% 100%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 50% 100%;
    opacity: 0;
  }
}
.ant-motion-collapse-legacy {
  overflow: hidden;
}
.ant-motion-collapse-legacy-active {
  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}
.ant-motion-collapse {
  overflow: hidden;
  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}
/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */
/* stylelint-disable no-duplicate-selectors */
/* stylelint-disable */
/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */
.cdk-overlay-container {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 1000;
}
.cdk-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.cdk-overlay-backdrop {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  opacity: 0;
  position: absolute;
  pointer-events: auto;
  z-index: 1000;
}
.cdk-overlay-backdrop.ant-modal-mask {
  opacity: 1;
}
.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  z-index: 1000;
}
.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
}
.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
.cdk-global-scrollblock body {
  overflow-x: visible;
}
.nz-overlay-transparent-backdrop,
.nz-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0;
}
.nz-animate-disabled.ant-drawer.ant-drawer-open .ant-drawer-mask {
  -webkit-animation: none;
          animation: none;
  transition: none;
}
.nz-animate-disabled.ant-drawer > * {
  transition: none;
}
.nz-animate-disabled .ant-modal-mask,
.nz-animate-disabled .ant-modal {
  -webkit-animation: none;
          animation: none;
  transition: none;
}
.nz-animate-disabled .ant-modal-mask.zoom-enter,
.nz-animate-disabled .ant-modal.zoom-enter,
.nz-animate-disabled .ant-modal-mask.zoom-leave,
.nz-animate-disabled .ant-modal.zoom-leave,
.nz-animate-disabled .ant-modal-mask.zoom-enter-active,
.nz-animate-disabled .ant-modal.zoom-enter-active,
.nz-animate-disabled .ant-modal-mask.zoom-leave-active,
.nz-animate-disabled .ant-modal.zoom-leave-active {
  -webkit-animation: none;
          animation: none;
  transition: none;
}
.nz-animate-disabled.ant-menu {
  transition: none;
}
.nz-animate-disabled.ant-menu .ant-menu-item,
.nz-animate-disabled.ant-menu .ant-menu-submenu-title {
  transition: none;
}
.nz-animate-disabled.ant-menu .ant-menu-item .anticon,
.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon {
  transition: none;
}
.nz-animate-disabled.ant-menu .ant-menu-item .anticon + span,
.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon + span {
  transition: none;
}
.nz-animate-disabled.ant-tabs .ant-tabs-top-content.ant-tabs-content-animated,
.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content.ant-tabs-content-animated,
.nz-animate-disabled.ant-tabs .ant-tabs-top-content > .ant-tabs-tabpane,
.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content > .ant-tabs-tabpane,
.nz-animate-disabled.ant-tabs.ant-tabs-left .ant-tabs-ink-bar-animated,
.nz-animate-disabled.ant-tabs.ant-tabs-right .ant-tabs-ink-bar-animated,
.nz-animate-disabled.ant-tabs.ant-tabs-top .ant-tabs-ink-bar-animated,
.nz-animate-disabled.ant-tabs.ant-tabs-bottom .ant-tabs-ink-bar-animated {
  transition: none;
}
.nz-animate-disabled.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg {
  transition: none;
}
.ant-btn {
  line-height: 1.5715;
  position: relative;
  display: inline-block;
  font-weight: 400;
  white-space: nowrap;
  text-align: center;
  background-image: none;
  border: 1px solid transparent;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  touch-action: manipulation;
  height: 32px;
  padding: 4px 15px;
  font-size: 14px;
  border-radius: 2px;
  color: var(--uni-contrast-500);
  background: transparent;
  border-color: #434343;
}
.ant-btn > .anticon {
  line-height: 1;
}
.ant-btn,
.ant-btn:active,
.ant-btn:focus {
  outline: 0;
}
.ant-btn:not([disabled]):hover {
  text-decoration: none;
}
.ant-btn:not([disabled]):active {
  outline: 0;
  box-shadow: none;
}
.ant-btn[disabled] {
  cursor: not-allowed;
}
.ant-btn[disabled] > * {
  pointer-events: none;
}
.ant-btn-lg {
  height: 40px;
  padding: 6.4px 15px;
  font-size: 16px;
  border-radius: 2px;
}
.ant-btn-sm {
  height: 24px;
  padding: 0px 7px;
  font-size: 14px;
  border-radius: 2px;
}
.ant-btn > a:only-child {
  color: currentColor;
}
.ant-btn > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn:hover,
.ant-btn:focus {
  color: #8e171b;
  background: transparent;
  border-color: #8e171b;
}
.ant-btn:hover > a:only-child,
.ant-btn:focus > a:only-child {
  color: currentColor;
}
.ant-btn:hover > a:only-child::after,
.ant-btn:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn:active {
  color: #c73939;
  background: transparent;
  border-color: #c73939;
}
.ant-btn:active > a:only-child {
  color: currentColor;
}
.ant-btn:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn[disabled],
.ant-btn[disabled]:hover,
.ant-btn[disabled]:focus,
.ant-btn[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn[disabled] > a:only-child,
.ant-btn[disabled]:hover > a:only-child,
.ant-btn[disabled]:focus > a:only-child,
.ant-btn[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn[disabled] > a:only-child::after,
.ant-btn[disabled]:hover > a:only-child::after,
.ant-btn[disabled]:focus > a:only-child::after,
.ant-btn[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn:hover,
.ant-btn:focus,
.ant-btn:active {
  text-decoration: none;
  background: transparent;
}
.ant-btn > span {
  display: inline-block;
}
.ant-btn-primary {
  color: #fff;
  background: #cf191f;
  border-color: #cf191f;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
}
.ant-btn-primary > a:only-child {
  color: currentColor;
}
.ant-btn-primary > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-primary:hover,
.ant-btn-primary:focus {
  color: #fff;
  background: #a80c16;
  border-color: #a80c16;
}
.ant-btn-primary:hover > a:only-child,
.ant-btn-primary:focus > a:only-child {
  color: currentColor;
}
.ant-btn-primary:hover > a:only-child::after,
.ant-btn-primary:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-primary:active {
  color: #fff;
  background: #db3d3d;
  border-color: #db3d3d;
}
.ant-btn-primary:active > a:only-child {
  color: currentColor;
}
.ant-btn-primary:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-primary[disabled],
.ant-btn-primary[disabled]:hover,
.ant-btn-primary[disabled]:focus,
.ant-btn-primary[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-primary[disabled] > a:only-child,
.ant-btn-primary[disabled]:hover > a:only-child,
.ant-btn-primary[disabled]:focus > a:only-child,
.ant-btn-primary[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-primary[disabled] > a:only-child::after,
.ant-btn-primary[disabled]:hover > a:only-child::after,
.ant-btn-primary[disabled]:focus > a:only-child::after,
.ant-btn-primary[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) {
  border-right-color: #8e171b;
  border-left-color: #8e171b;
}
.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled {
  border-color: #434343;
}
.ant-btn-group .ant-btn-primary:first-child:not(:last-child) {
  border-right-color: #8e171b;
}
.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] {
  border-right-color: #434343;
}
.ant-btn-group .ant-btn-primary:last-child:not(:first-child),
.ant-btn-group .ant-btn-primary + .ant-btn-primary {
  border-left-color: #8e171b;
}
.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],
.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {
  border-left-color: #434343;
}
.ant-btn-ghost {
  color: var(--uni-contrast-500);
  background: transparent;
  border-color: #434343;
}
.ant-btn-ghost > a:only-child {
  color: currentColor;
}
.ant-btn-ghost > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-ghost:hover,
.ant-btn-ghost:focus {
  color: #8e171b;
  background: transparent;
  border-color: #8e171b;
}
.ant-btn-ghost:hover > a:only-child,
.ant-btn-ghost:focus > a:only-child {
  color: currentColor;
}
.ant-btn-ghost:hover > a:only-child::after,
.ant-btn-ghost:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-ghost:active {
  color: #c73939;
  background: transparent;
  border-color: #c73939;
}
.ant-btn-ghost:active > a:only-child {
  color: currentColor;
}
.ant-btn-ghost:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-ghost[disabled],
.ant-btn-ghost[disabled]:hover,
.ant-btn-ghost[disabled]:focus,
.ant-btn-ghost[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-ghost[disabled] > a:only-child,
.ant-btn-ghost[disabled]:hover > a:only-child,
.ant-btn-ghost[disabled]:focus > a:only-child,
.ant-btn-ghost[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-ghost[disabled] > a:only-child::after,
.ant-btn-ghost[disabled]:hover > a:only-child::after,
.ant-btn-ghost[disabled]:focus > a:only-child::after,
.ant-btn-ghost[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dashed {
  color: var(--uni-contrast-500);
  background: transparent;
  border-color: #434343;
  border-style: dashed;
}
.ant-btn-dashed > a:only-child {
  color: currentColor;
}
.ant-btn-dashed > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dashed:hover,
.ant-btn-dashed:focus {
  color: #8e171b;
  background: transparent;
  border-color: #8e171b;
}
.ant-btn-dashed:hover > a:only-child,
.ant-btn-dashed:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dashed:hover > a:only-child::after,
.ant-btn-dashed:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dashed:active {
  color: #c73939;
  background: transparent;
  border-color: #c73939;
}
.ant-btn-dashed:active > a:only-child {
  color: currentColor;
}
.ant-btn-dashed:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dashed[disabled],
.ant-btn-dashed[disabled]:hover,
.ant-btn-dashed[disabled]:focus,
.ant-btn-dashed[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dashed[disabled] > a:only-child,
.ant-btn-dashed[disabled]:hover > a:only-child,
.ant-btn-dashed[disabled]:focus > a:only-child,
.ant-btn-dashed[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dashed[disabled] > a:only-child::after,
.ant-btn-dashed[disabled]:hover > a:only-child::after,
.ant-btn-dashed[disabled]:focus > a:only-child::after,
.ant-btn-dashed[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-danger {
  color: #fff;
  background: #a61d24;
  border-color: #a61d24;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
}
.ant-btn-danger > a:only-child {
  color: currentColor;
}
.ant-btn-danger > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-danger:hover,
.ant-btn-danger:focus {
  color: #fff;
  background: #800f19;
  border-color: #800f19;
}
.ant-btn-danger:hover > a:only-child,
.ant-btn-danger:focus > a:only-child {
  color: currentColor;
}
.ant-btn-danger:hover > a:only-child::after,
.ant-btn-danger:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-danger:active {
  color: #fff;
  background: #b33b3d;
  border-color: #b33b3d;
}
.ant-btn-danger:active > a:only-child {
  color: currentColor;
}
.ant-btn-danger:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-danger[disabled],
.ant-btn-danger[disabled]:hover,
.ant-btn-danger[disabled]:focus,
.ant-btn-danger[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-danger[disabled] > a:only-child,
.ant-btn-danger[disabled]:hover > a:only-child,
.ant-btn-danger[disabled]:focus > a:only-child,
.ant-btn-danger[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-danger[disabled] > a:only-child::after,
.ant-btn-danger[disabled]:hover > a:only-child::after,
.ant-btn-danger[disabled]:focus > a:only-child::after,
.ant-btn-danger[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link {
  color: #cf191f;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ant-btn-link > a:only-child {
  color: currentColor;
}
.ant-btn-link > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link:hover,
.ant-btn-link:focus {
  color: #8e171b;
  background: transparent;
  border-color: #8e171b;
}
.ant-btn-link:hover > a:only-child,
.ant-btn-link:focus > a:only-child {
  color: currentColor;
}
.ant-btn-link:hover > a:only-child::after,
.ant-btn-link:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link:active {
  color: #c73939;
  background: transparent;
  border-color: #c73939;
}
.ant-btn-link:active > a:only-child {
  color: currentColor;
}
.ant-btn-link:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link[disabled],
.ant-btn-link[disabled]:hover,
.ant-btn-link[disabled]:focus,
.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-link[disabled] > a:only-child,
.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link:hover {
  background: transparent;
}
.ant-btn-link:hover,
.ant-btn-link:focus,
.ant-btn-link:active {
  border-color: transparent;
}
.ant-btn-link[disabled],
.ant-btn-link[disabled]:hover,
.ant-btn-link[disabled]:focus,
.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: transparent;
  border-color: transparent;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-link[disabled] > a:only-child,
.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text {
  color: var(--uni-contrast-500);
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ant-btn-text > a:only-child {
  color: currentColor;
}
.ant-btn-text > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text:hover,
.ant-btn-text:focus {
  color: #8e171b;
  background: transparent;
  border-color: #8e171b;
}
.ant-btn-text:hover > a:only-child,
.ant-btn-text:focus > a:only-child {
  color: currentColor;
}
.ant-btn-text:hover > a:only-child::after,
.ant-btn-text:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text:active {
  color: #c73939;
  background: transparent;
  border-color: #c73939;
}
.ant-btn-text:active > a:only-child {
  color: currentColor;
}
.ant-btn-text:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text[disabled],
.ant-btn-text[disabled]:hover,
.ant-btn-text[disabled]:focus,
.ant-btn-text[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-text[disabled] > a:only-child,
.ant-btn-text[disabled]:hover > a:only-child,
.ant-btn-text[disabled]:focus > a:only-child,
.ant-btn-text[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-text[disabled] > a:only-child::after,
.ant-btn-text[disabled]:hover > a:only-child::after,
.ant-btn-text[disabled]:focus > a:only-child::after,
.ant-btn-text[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text:hover,
.ant-btn-text:focus {
  color: var(--uni-contrast-500);
  background: rgba(255, 255, 255, 0.03);
  border-color: transparent;
}
.ant-btn-text:active {
  color: var(--uni-contrast-500);
  background: rgba(255, 255, 255, 0.04);
  border-color: transparent;
}
.ant-btn-text[disabled],
.ant-btn-text[disabled]:hover,
.ant-btn-text[disabled]:focus,
.ant-btn-text[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: transparent;
  border-color: transparent;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-text[disabled] > a:only-child,
.ant-btn-text[disabled]:hover > a:only-child,
.ant-btn-text[disabled]:focus > a:only-child,
.ant-btn-text[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-text[disabled] > a:only-child::after,
.ant-btn-text[disabled]:hover > a:only-child::after,
.ant-btn-text[disabled]:focus > a:only-child::after,
.ant-btn-text[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous {
  color: #a61d24;
  background: transparent;
  border-color: #a61d24;
}
.ant-btn-dangerous > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous:hover,
.ant-btn-dangerous:focus {
  color: #800f19;
  background: transparent;
  border-color: #800f19;
}
.ant-btn-dangerous:hover > a:only-child,
.ant-btn-dangerous:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous:hover > a:only-child::after,
.ant-btn-dangerous:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous:active {
  color: #b33b3d;
  background: transparent;
  border-color: #b33b3d;
}
.ant-btn-dangerous:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous[disabled],
.ant-btn-dangerous[disabled]:hover,
.ant-btn-dangerous[disabled]:focus,
.ant-btn-dangerous[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous[disabled] > a:only-child,
.ant-btn-dangerous[disabled]:hover > a:only-child,
.ant-btn-dangerous[disabled]:focus > a:only-child,
.ant-btn-dangerous[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous[disabled] > a:only-child::after,
.ant-btn-dangerous[disabled]:hover > a:only-child::after,
.ant-btn-dangerous[disabled]:focus > a:only-child::after,
.ant-btn-dangerous[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-primary {
  color: #fff;
  background: #a61d24;
  border-color: #a61d24;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
}
.ant-btn-dangerous.ant-btn-primary > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-primary > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-primary:hover,
.ant-btn-dangerous.ant-btn-primary:focus {
  color: #fff;
  background: #800f19;
  border-color: #800f19;
}
.ant-btn-dangerous.ant-btn-primary:hover > a:only-child,
.ant-btn-dangerous.ant-btn-primary:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-primary:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-primary:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-primary:active {
  color: #fff;
  background: #b33b3d;
  border-color: #b33b3d;
}
.ant-btn-dangerous.ant-btn-primary:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-primary:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-primary[disabled],
.ant-btn-dangerous.ant-btn-primary[disabled]:hover,
.ant-btn-dangerous.ant-btn-primary[disabled]:focus,
.ant-btn-dangerous.ant-btn-primary[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link {
  color: #a61d24;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-link > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link:hover,
.ant-btn-dangerous.ant-btn-link:focus {
  color: #8e171b;
  background: transparent;
  border-color: #8e171b;
}
.ant-btn-dangerous.ant-btn-link:hover > a:only-child,
.ant-btn-dangerous.ant-btn-link:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link:active {
  color: #c73939;
  background: transparent;
  border-color: #c73939;
}
.ant-btn-dangerous.ant-btn-link:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link[disabled],
.ant-btn-dangerous.ant-btn-link[disabled]:hover,
.ant-btn-dangerous.ant-btn-link[disabled]:focus,
.ant-btn-dangerous.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link:hover,
.ant-btn-dangerous.ant-btn-link:focus {
  color: #800f19;
  background: transparent;
  border-color: transparent;
}
.ant-btn-dangerous.ant-btn-link:hover > a:only-child,
.ant-btn-dangerous.ant-btn-link:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link:active {
  color: #b33b3d;
  background: transparent;
  border-color: transparent;
}
.ant-btn-dangerous.ant-btn-link:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link[disabled],
.ant-btn-dangerous.ant-btn-link[disabled]:hover,
.ant-btn-dangerous.ant-btn-link[disabled]:focus,
.ant-btn-dangerous.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: transparent;
  border-color: transparent;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text {
  color: #a61d24;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-text > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text:hover,
.ant-btn-dangerous.ant-btn-text:focus {
  color: #8e171b;
  background: transparent;
  border-color: #8e171b;
}
.ant-btn-dangerous.ant-btn-text:hover > a:only-child,
.ant-btn-dangerous.ant-btn-text:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text:active {
  color: #c73939;
  background: transparent;
  border-color: #c73939;
}
.ant-btn-dangerous.ant-btn-text:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text[disabled],
.ant-btn-dangerous.ant-btn-text[disabled]:hover,
.ant-btn-dangerous.ant-btn-text[disabled]:focus,
.ant-btn-dangerous.ant-btn-text[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text:hover,
.ant-btn-dangerous.ant-btn-text:focus {
  color: #800f19;
  background: rgba(255, 255, 255, 0.03);
  border-color: transparent;
}
.ant-btn-dangerous.ant-btn-text:hover > a:only-child,
.ant-btn-dangerous.ant-btn-text:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text:active {
  color: #b33b3d;
  background: rgba(255, 255, 255, 0.04);
  border-color: transparent;
}
.ant-btn-dangerous.ant-btn-text:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text[disabled],
.ant-btn-dangerous.ant-btn-text[disabled]:hover,
.ant-btn-dangerous.ant-btn-text[disabled]:focus,
.ant-btn-dangerous.ant-btn-text[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: transparent;
  border-color: transparent;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-icon-only {
  width: 32px;
  height: 32px;
  padding: 2.4px 0;
  font-size: 16px;
  border-radius: 2px;
  vertical-align: -1px;
}
.ant-btn-icon-only > * {
  font-size: 16px;
}
.ant-btn-icon-only.ant-btn-lg {
  width: 40px;
  height: 40px;
  padding: 4.9px 0;
  font-size: 18px;
  border-radius: 2px;
}
.ant-btn-icon-only.ant-btn-lg > * {
  font-size: 18px;
}
.ant-btn-icon-only.ant-btn-sm {
  width: 24px;
  height: 24px;
  padding: 0px 0;
  font-size: 14px;
  border-radius: 2px;
}
.ant-btn-icon-only.ant-btn-sm > * {
  font-size: 14px;
}
.ant-btn-round {
  height: 32px;
  padding: 4px 16px;
  font-size: 14px;
  border-radius: 32px;
}
.ant-btn-round.ant-btn-lg {
  height: 40px;
  padding: 6.4px 20px;
  font-size: 16px;
  border-radius: 40px;
}
.ant-btn-round.ant-btn-sm {
  height: 24px;
  padding: 0px 12px;
  font-size: 14px;
  border-radius: 24px;
}
.ant-btn-round.ant-btn-icon-only {
  width: auto;
}
.ant-btn-circle {
  min-width: 32px;
  padding-right: 0;
  padding-left: 0;
  text-align: center;
  border-radius: 50%;
}
.ant-btn-circle.ant-btn-lg {
  min-width: 40px;
  border-radius: 50%;
}
.ant-btn-circle.ant-btn-sm {
  min-width: 24px;
  border-radius: 50%;
}
.ant-btn::before {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  z-index: 1;
  display: none;
  background: #141414;
  border-radius: inherit;
  opacity: 0.35;
  transition: opacity 0.2s;
  content: '';
  pointer-events: none;
}
.ant-btn .anticon {
  transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.ant-btn .anticon.anticon-plus > svg,
.ant-btn .anticon.anticon-minus > svg {
  shape-rendering: optimizeSpeed;
}
.ant-btn.ant-btn-loading {
  position: relative;
}
.ant-btn.ant-btn-loading:not([disabled]) {
  pointer-events: none;
}
.ant-btn.ant-btn-loading::before {
  display: block;
}
.ant-btn > .ant-btn-loading-icon {
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.ant-btn > .ant-btn-loading-icon .anticon {
  padding-right: 8px;
  -webkit-animation: none;
          animation: none;
}
.ant-btn > .ant-btn-loading-icon .anticon svg {
  -webkit-animation: loadingCircle 1s infinite linear;
          animation: loadingCircle 1s infinite linear;
}
.ant-btn > .ant-btn-loading-icon:only-child .anticon {
  padding-right: 0;
}
.ant-btn-group {
  position: relative;
  display: inline-flex;
}
.ant-btn-group > .ant-btn,
.ant-btn-group > span > .ant-btn {
  position: relative;
}
.ant-btn-group > .ant-btn:hover,
.ant-btn-group > span > .ant-btn:hover,
.ant-btn-group > .ant-btn:focus,
.ant-btn-group > span > .ant-btn:focus,
.ant-btn-group > .ant-btn:active,
.ant-btn-group > span > .ant-btn:active {
  z-index: 2;
}
.ant-btn-group > .ant-btn[disabled],
.ant-btn-group > span > .ant-btn[disabled] {
  z-index: 0;
}
.ant-btn-group .ant-btn-icon-only {
  font-size: 14px;
}
.ant-btn-group-lg > .ant-btn,
.ant-btn-group-lg > span > .ant-btn {
  height: 40px;
  padding: 6.4px 15px;
  font-size: 16px;
  border-radius: 0;
}
.ant-btn-group-lg .ant-btn.ant-btn-icon-only {
  width: 40px;
  height: 40px;
  padding-right: 0;
  padding-left: 0;
}
.ant-btn-group-sm > .ant-btn,
.ant-btn-group-sm > span > .ant-btn {
  height: 24px;
  padding: 0px 7px;
  font-size: 14px;
  border-radius: 0;
}
.ant-btn-group-sm > .ant-btn > .anticon,
.ant-btn-group-sm > span > .ant-btn > .anticon {
  font-size: 14px;
}
.ant-btn-group-sm .ant-btn.ant-btn-icon-only {
  width: 24px;
  height: 24px;
  padding-right: 0;
  padding-left: 0;
}
.ant-btn-group .ant-btn + .ant-btn,
.ant-btn + .ant-btn-group,
.ant-btn-group span + .ant-btn,
.ant-btn-group .ant-btn + span,
.ant-btn-group > span + span,
.ant-btn-group + .ant-btn,
.ant-btn-group + .ant-btn-group {
  margin-left: -1px;
}
.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) {
  border-left-color: transparent;
}
.ant-btn-group .ant-btn {
  border-radius: 0;
}
.ant-btn-group > .ant-btn:first-child,
.ant-btn-group > span:first-child > .ant-btn {
  margin-left: 0;
}
.ant-btn-group > .ant-btn:only-child {
  border-radius: 2px;
}
.ant-btn-group > span:only-child > .ant-btn {
  border-radius: 2px;
}
.ant-btn-group > .ant-btn:first-child:not(:last-child),
.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.ant-btn-group > .ant-btn:last-child:not(:first-child),
.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}
.ant-btn-group-sm > .ant-btn:only-child {
  border-radius: 2px;
}
.ant-btn-group-sm > span:only-child > .ant-btn {
  border-radius: 2px;
}
.ant-btn-group-sm > .ant-btn:first-child:not(:last-child),
.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.ant-btn-group-sm > .ant-btn:last-child:not(:first-child),
.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}
.ant-btn-group > .ant-btn-group {
  float: left;
}
.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn {
  border-radius: 0;
}
.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child {
  padding-right: 8px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child {
  padding-left: 8px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-btn-rtl.ant-btn-group .ant-btn + .ant-btn,
.ant-btn-rtl.ant-btn + .ant-btn-group,
.ant-btn-rtl.ant-btn-group span + .ant-btn,
.ant-btn-rtl.ant-btn-group .ant-btn + span,
.ant-btn-rtl.ant-btn-group > span + span,
.ant-btn-rtl.ant-btn-group + .ant-btn,
.ant-btn-rtl.ant-btn-group + .ant-btn-group,
.ant-btn-group-rtl.ant-btn-group .ant-btn + .ant-btn,
.ant-btn-group-rtl.ant-btn + .ant-btn-group,
.ant-btn-group-rtl.ant-btn-group span + .ant-btn,
.ant-btn-group-rtl.ant-btn-group .ant-btn + span,
.ant-btn-group-rtl.ant-btn-group > span + span,
.ant-btn-group-rtl.ant-btn-group + .ant-btn,
.ant-btn-group-rtl.ant-btn-group + .ant-btn-group {
  margin-right: -1px;
  margin-left: auto;
}
.ant-btn-group.ant-btn-group-rtl {
  direction: rtl;
}
.ant-btn-group-rtl.ant-btn-group > .ant-btn:first-child:not(:last-child),
.ant-btn-group-rtl.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {
  border-top-left-radius: 0;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 0;
}
.ant-btn-group-rtl.ant-btn-group > .ant-btn:last-child:not(:first-child),
.ant-btn-group-rtl.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {
  border-top-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 2px;
}
.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:first-child:not(:last-child),
.ant-btn-group-rtl.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {
  border-top-left-radius: 0;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 0;
}
.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:last-child:not(:first-child),
.ant-btn-group-rtl.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {
  border-top-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 2px;
}
.ant-btn:focus > span,
.ant-btn:active > span {
  position: relative;
}
.ant-btn > .anticon + span,
.ant-btn > span + .anticon {
  margin-left: 8px;
}
.ant-btn-background-ghost {
  color: var(--uni-contrast-500);
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.25);
}
.ant-btn-background-ghost.ant-btn-primary {
  color: #cf191f;
  background: transparent;
  border-color: #cf191f;
  text-shadow: none;
}
.ant-btn-background-ghost.ant-btn-primary > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-primary > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-primary:hover,
.ant-btn-background-ghost.ant-btn-primary:focus {
  color: #a80c16;
  background: transparent;
  border-color: #a80c16;
}
.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-primary:active {
  color: #db3d3d;
  background: transparent;
  border-color: #db3d3d;
}
.ant-btn-background-ghost.ant-btn-primary:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-primary:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-primary[disabled],
.ant-btn-background-ghost.ant-btn-primary[disabled]:hover,
.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,
.ant-btn-background-ghost.ant-btn-primary[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child,
.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child,
.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child::after,
.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child::after,
.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-danger {
  color: #a61d24;
  background: transparent;
  border-color: #a61d24;
  text-shadow: none;
}
.ant-btn-background-ghost.ant-btn-danger > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-danger > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-danger:hover,
.ant-btn-background-ghost.ant-btn-danger:focus {
  color: #800f19;
  background: transparent;
  border-color: #800f19;
}
.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-danger:active {
  color: #b33b3d;
  background: transparent;
  border-color: #b33b3d;
}
.ant-btn-background-ghost.ant-btn-danger:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-danger:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-danger[disabled],
.ant-btn-background-ghost.ant-btn-danger[disabled]:hover,
.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,
.ant-btn-background-ghost.ant-btn-danger[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child,
.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child,
.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child::after,
.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child::after,
.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous {
  color: #a61d24;
  background: transparent;
  border-color: #a61d24;
  text-shadow: none;
}
.ant-btn-background-ghost.ant-btn-dangerous > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous:hover,
.ant-btn-background-ghost.ant-btn-dangerous:focus {
  color: #800f19;
  background: transparent;
  border-color: #800f19;
}
.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous:active {
  color: #b33b3d;
  background: transparent;
  border-color: #b33b3d;
}
.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous[disabled],
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link {
  color: #a61d24;
  background: transparent;
  border-color: transparent;
  text-shadow: none;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus {
  color: #800f19;
  background: transparent;
  border-color: transparent;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active {
  color: #b33b3d;
  background: transparent;
  border-color: transparent;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled],
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-two-chinese-chars::first-letter {
  letter-spacing: 0.34em;
}
.ant-btn-two-chinese-chars > *:not(.anticon) {
  margin-right: -0.34em;
  letter-spacing: 0.34em;
}
.ant-btn-block {
  width: 100%;
}
.ant-btn:empty {
  display: inline-block;
  width: 0;
  visibility: hidden;
  content: '\a0';
}
a.ant-btn {
  padding-top: 0.1px;
  line-height: 30px;
}
a.ant-btn-lg {
  line-height: 38px;
}
a.ant-btn-sm {
  line-height: 22px;
}
.ant-btn-rtl {
  direction: rtl;
}
.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child),
.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary {
  border-right-color: #8e171b;
  border-left-color: #434343;
}
.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],
.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {
  border-right-color: #434343;
  border-left-color: #8e171b;
}
.ant-btn-rtl.ant-btn > .ant-btn-loading-icon .anticon {
  padding-right: 0;
  padding-left: 8px;
}
.ant-btn > .ant-btn-loading-icon:only-child .anticon {
  padding-right: 0;
  padding-left: 0;
}
.ant-btn-rtl.ant-btn > .anticon + span,
.ant-btn-rtl.ant-btn > span + .anticon {
  margin-right: 8px;
  margin-left: 0;
}
.ant-spin {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: absolute;
  display: none;
  color: #cf191f;
  text-align: center;
  vertical-align: middle;
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.ant-spin-spinning {
  position: static;
  display: inline-block;
  opacity: 1;
}
.ant-spin-nested-loading {
  position: relative;
}
.ant-spin-nested-loading > div > .ant-spin {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 400px;
}
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -10px;
}
.ant-spin-nested-loading > div > .ant-spin .ant-spin-text {
  position: absolute;
  top: 50%;
  width: 100%;
  padding-top: 5px;
  text-shadow: 0 1px 2px #141414;
}
.ant-spin-nested-loading > div > .ant-spin.ant-spin-show-text .ant-spin-dot {
  margin-top: -20px;
}
.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-dot {
  margin: -7px;
}
.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-text {
  padding-top: 2px;
}
.ant-spin-nested-loading > div > .ant-spin-sm.ant-spin-show-text .ant-spin-dot {
  margin-top: -17px;
}
.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-dot {
  margin: -16px;
}
.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-text {
  padding-top: 11px;
}
.ant-spin-nested-loading > div > .ant-spin-lg.ant-spin-show-text .ant-spin-dot {
  margin-top: -26px;
}
.ant-spin-container {
  position: relative;
  transition: opacity 0.3s;
}
.ant-spin-container::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: none \9;
  width: 100%;
  height: 100%;
  background: #141414;
  opacity: 0;
  transition: all 0.3s;
  content: '';
  pointer-events: none;
}
.ant-spin-blur {
  clear: both;
  overflow: hidden;
  opacity: 0.5;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
.ant-spin-blur::after {
  opacity: 0.4;
  pointer-events: auto;
}
.ant-spin-tip {
  color: rgba(255, 255, 255, 0.45);
}
.ant-spin-dot {
  position: relative;
  display: inline-block;
  font-size: 20px;
  width: 1em;
  height: 1em;
}
.ant-spin-dot-item {
  position: absolute;
  display: block;
  width: 9px;
  height: 9px;
  background-color: #cf191f;
  border-radius: 100%;
  transform: scale(0.75);
  transform-origin: 50% 50%;
  opacity: 0.3;
  -webkit-animation: antSpinMove 1s infinite linear alternate;
          animation: antSpinMove 1s infinite linear alternate;
}
.ant-spin-dot-item:nth-child(1) {
  top: 0;
  left: 0;
}
.ant-spin-dot-item:nth-child(2) {
  top: 0;
  right: 0;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.ant-spin-dot-item:nth-child(3) {
  right: 0;
  bottom: 0;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.ant-spin-dot-item:nth-child(4) {
  bottom: 0;
  left: 0;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.ant-spin-dot-spin {
  transform: rotate(45deg);
  -webkit-animation: antRotate 1.2s infinite linear;
          animation: antRotate 1.2s infinite linear;
}
.ant-spin-sm .ant-spin-dot {
  font-size: 14px;
}
.ant-spin-sm .ant-spin-dot i {
  width: 6px;
  height: 6px;
}
.ant-spin-lg .ant-spin-dot {
  font-size: 32px;
}
.ant-spin-lg .ant-spin-dot i {
  width: 14px;
  height: 14px;
}
.ant-spin.ant-spin-show-text .ant-spin-text {
  display: block;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  /* IE10+ */
  .ant-spin-blur {
    background: #141414;
    opacity: 0.5;
  }
}
@-webkit-keyframes antSpinMove {
  to {
    opacity: 1;
  }
}
@keyframes antSpinMove {
  to {
    opacity: 1;
  }
}
@-webkit-keyframes antRotate {
  to {
    transform: rotate(405deg);
  }
}
@keyframes antRotate {
  to {
    transform: rotate(405deg);
  }
}
.ant-spin-rtl {
  direction: rtl;
}
.ant-spin-rtl .ant-spin-dot-spin {
  transform: rotate(-45deg);
  -webkit-animation-name: antRotateRtl;
          animation-name: antRotateRtl;
}
@-webkit-keyframes antRotateRtl {
  to {
    transform: rotate(-405deg);
  }
}
@keyframes antRotateRtl {
  to {
    transform: rotate(-405deg);
  }
}
nz-spin {
  display: block;
}
.ant-input-affix-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  min-width: 0;
  padding: 4px 11px;
  color: var(--uni-contrast-500);
  font-size: 14px;
  line-height: 1.5715;
  background-color: transparent;
  background-image: none;
  border: 1px solid #434343;
  border-radius: 2px;
  transition: all 0.3s;
  display: inline-flex;
}
.ant-input-affix-wrapper::-moz-placeholder {
  opacity: 1;
}
.ant-input-affix-wrapper::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.ant-input-affix-wrapper:-moz-placeholder-shown {
  text-overflow: ellipsis;
}
.ant-input-affix-wrapper:placeholder-shown {
  text-overflow: ellipsis;
}
.ant-input-affix-wrapper:hover {
  border-color: #8e171b;
  border-right-width: 1px !important;
}
.ant-input-rtl .ant-input-affix-wrapper:hover {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input-affix-wrapper:focus,
.ant-input-affix-wrapper-focused {
  border-color: #cf191f;
  border-right-width: 1px !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(207, 25, 31, 0.2);
}
.ant-input-rtl .ant-input-affix-wrapper:focus,
.ant-input-rtl .ant-input-affix-wrapper-focused {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input-affix-wrapper-disabled {
  color: rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
  opacity: 1;
}
.ant-input-affix-wrapper-disabled:hover {
  border-color: #434343;
  border-right-width: 1px !important;
}
.ant-input-affix-wrapper[disabled] {
  color: rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
  opacity: 1;
}
.ant-input-affix-wrapper[disabled]:hover {
  border-color: #434343;
  border-right-width: 1px !important;
}
.ant-input-affix-wrapper-borderless,
.ant-input-affix-wrapper-borderless:hover,
.ant-input-affix-wrapper-borderless:focus,
.ant-input-affix-wrapper-borderless-focused,
.ant-input-affix-wrapper-borderless-disabled,
.ant-input-affix-wrapper-borderless[disabled] {
  background-color: transparent;
  border: none;
  box-shadow: none;
}
textarea.ant-input-affix-wrapper {
  max-width: 100%;
  height: auto;
  min-height: 32px;
  line-height: 1.5715;
  vertical-align: bottom;
  transition: all 0.3s, height 0s;
}
.ant-input-affix-wrapper-lg {
  padding: 6.5px 11px;
  font-size: 16px;
}
.ant-input-affix-wrapper-sm {
  padding: 0px 7px;
}
.ant-input-affix-wrapper-rtl {
  direction: rtl;
}
.ant-input-affix-wrapper:hover {
  border-color: #8e171b;
  border-right-width: 1px !important;
  z-index: 1;
}
.ant-input-rtl .ant-input-affix-wrapper:hover {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input-search-with-button .ant-input-affix-wrapper:hover {
  z-index: 0;
}
.ant-input-affix-wrapper-focused,
.ant-input-affix-wrapper:focus {
  z-index: 1;
}
.ant-input-affix-wrapper-disabled .ant-input[disabled] {
  background: transparent;
}
.ant-input-affix-wrapper > input.ant-input {
  padding: 0;
  border: none;
  outline: none;
}
.ant-input-affix-wrapper > input.ant-input:focus {
  box-shadow: none;
}
.ant-input-affix-wrapper::before {
  width: 0;
  visibility: hidden;
  content: '\a0';
}
.ant-input-prefix,
.ant-input-suffix {
  display: flex;
  flex: none;
  align-items: center;
}
.ant-input-prefix {
  margin-right: 4px;
}
.ant-input-suffix {
  margin-left: 4px;
}
.ant-input-clear-icon {
  margin: 0 4px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
  vertical-align: -1px;
  cursor: pointer;
  transition: color 0.3s;
}
.ant-input-clear-icon:hover {
  color: rgba(255, 255, 255, 0.45);
}
.ant-input-clear-icon:active {
  color: var(--uni-contrast-500);
}
.ant-input-clear-icon-hidden {
  visibility: hidden;
}
.ant-input-clear-icon:last-child {
  margin-right: 0;
}
.ant-input-affix-wrapper-textarea-with-clear-btn {
  padding: 0 !important;
  border: 0 !important;
}
.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
}
.ant-input {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-variant: tabular-nums;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  display: inline-block;
  width: 100%;
  min-width: 0;
  padding: 4px 11px;
  color: var(--uni-contrast-500);
  font-size: 14px;
  line-height: 1.5715;
  background-color: transparent;
  background-image: none;
  border: 1px solid #434343;
  border-radius: 2px;
  transition: all 0.3s;
}
.ant-input::-moz-placeholder {
  opacity: 1;
}
.ant-input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.ant-input:-moz-placeholder-shown {
  text-overflow: ellipsis;
}
.ant-input:placeholder-shown {
  text-overflow: ellipsis;
}
.ant-input:hover {
  border-color: #8e171b;
  border-right-width: 1px !important;
}
.ant-input-rtl .ant-input:hover {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input:focus,
.ant-input-focused {
  border-color: #cf191f;
  border-right-width: 1px !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(207, 25, 31, 0.2);
}
.ant-input-rtl .ant-input:focus,
.ant-input-rtl .ant-input-focused {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input-disabled {
  color: rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
  opacity: 1;
}
.ant-input-disabled:hover {
  border-color: #434343;
  border-right-width: 1px !important;
}
.ant-input[disabled] {
  color: rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
  opacity: 1;
}
.ant-input[disabled]:hover {
  border-color: #434343;
  border-right-width: 1px !important;
}
.ant-input-borderless,
.ant-input-borderless:hover,
.ant-input-borderless:focus,
.ant-input-borderless-focused,
.ant-input-borderless-disabled,
.ant-input-borderless[disabled] {
  background-color: transparent;
  border: none;
  box-shadow: none;
}
textarea.ant-input {
  max-width: 100%;
  height: auto;
  min-height: 32px;
  line-height: 1.5715;
  vertical-align: bottom;
  transition: all 0.3s, height 0s;
}
.ant-input-lg {
  padding: 6.5px 11px;
  font-size: 16px;
}
.ant-input-sm {
  padding: 0px 7px;
}
.ant-input-rtl {
  direction: rtl;
}
.ant-input-group {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.ant-input-group[class*='col-'] {
  float: none;
  padding-right: 0;
  padding-left: 0;
}
.ant-input-group > [class*='col-'] {
  padding-right: 8px;
}
.ant-input-group > [class*='col-']:last-child {
  padding-right: 0;
}
.ant-input-group-addon,
.ant-input-group-wrap,
.ant-input-group > .ant-input {
  display: table-cell;
}
.ant-input-group-addon:not(:first-child):not(:last-child),
.ant-input-group-wrap:not(:first-child):not(:last-child),
.ant-input-group > .ant-input:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.ant-input-group-addon,
.ant-input-group-wrap {
  width: 1px;
  white-space: nowrap;
  vertical-align: middle;
}
.ant-input-group-wrap > * {
  display: block !important;
}
.ant-input-group .ant-input {
  float: left;
  width: 100%;
  margin-bottom: 0;
  text-align: inherit;
}
.ant-input-group .ant-input:focus {
  z-index: 1;
  border-right-width: 1px;
}
.ant-input-group .ant-input:hover {
  z-index: 1;
  border-right-width: 1px;
}
.ant-input-search-with-button .ant-input-group .ant-input:hover {
  z-index: 0;
}
.ant-input-group-addon {
  position: relative;
  padding: 0 11px;
  color: var(--uni-contrast-500);
  font-weight: normal;
  font-size: 14px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid #434343;
  border-radius: 2px;
  transition: all 0.3s;
}
.ant-input-group-addon .ant-select {
  margin: -5px -11px;
}
.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
  background-color: inherit;
  border: 1px solid transparent;
  box-shadow: none;
}
.ant-input-group-addon .ant-select-open .ant-select-selector,
.ant-input-group-addon .ant-select-focused .ant-select-selector {
  color: #cf191f;
}
.ant-input-group > .ant-input:first-child,
.ant-input-group-addon:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector,
.ant-input-group-addon:first-child .ant-select .ant-select-selector {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-input-group-addon:first-child {
  border-right: 0;
}
.ant-input-group-addon:last-child {
  border-left: 0;
}
.ant-input-group > .ant-input:last-child,
.ant-input-group-addon:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector,
.ant-input-group-addon:last-child .ant-select .ant-select-selector {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-input-group-lg .ant-input,
.ant-input-group-lg > .ant-input-group-addon {
  padding: 6.5px 11px;
  font-size: 16px;
}
.ant-input-group-sm .ant-input,
.ant-input-group-sm > .ant-input-group-addon {
  padding: 0px 7px;
}
.ant-input-group-lg .ant-select-single .ant-select-selector {
  height: 40px;
}
.ant-input-group-sm .ant-select-single .ant-select-selector {
  height: 24px;
}
.ant-input-group .ant-input-affix-wrapper:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-input-group .ant-input-affix-wrapper:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child) {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.ant-input-group.ant-input-group-compact {
  display: block;
}
.ant-input-group.ant-input-group-compact::before {
  display: table;
  content: '';
}
.ant-input-group.ant-input-group-compact::after {
  display: table;
  clear: both;
  content: '';
}
.ant-input-group.ant-input-group-compact::before {
  display: table;
  content: '';
}
.ant-input-group.ant-input-group-compact::after {
  display: table;
  clear: both;
  content: '';
}
.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),
.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),
.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) {
  border-right-width: 1px;
}
.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover,
.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover,
.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):hover {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus,
.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus,
.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):focus {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > * {
  display: inline-block;
  float: none;
  vertical-align: top;
  border-radius: 0;
}
.ant-input-group.ant-input-group-compact > .ant-input-affix-wrapper {
  display: inline-flex;
}
.ant-input-group.ant-input-group-compact > .ant-picker-range {
  display: inline-flex;
}
.ant-input-group.ant-input-group-compact > *:not(:last-child) {
  margin-right: -1px;
  border-right-width: 1px;
}
.ant-input-group.ant-input-group-compact .ant-input {
  float: none;
}
.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector,
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input,
.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input {
  border-right-width: 1px;
  border-radius: 0;
}
.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:hover,
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover,
.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:focus,
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus,
.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > .ant-select-focused {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-arrow {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > *:first-child,
.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector,
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.ant-input-group.ant-input-group-compact > *:last-child,
.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {
  border-right-width: 1px;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input {
  vertical-align: top;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper {
  margin-left: -1px;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper {
  border-radius: 0;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button {
  border-radius: 0;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input {
  border-radius: 2px 0 0 2px;
}
.ant-input-group > .ant-input-rtl:first-child,
.ant-input-group-rtl .ant-input-group-addon:first-child {
  border-radius: 0 2px 2px 0;
}
.ant-input-group-rtl .ant-input-group-addon:first-child {
  border-right: 1px solid #434343;
  border-left: 0;
}
.ant-input-group-rtl .ant-input-group-addon:last-child {
  border-right: 0;
  border-left: 1px solid #434343;
}
.ant-input-group-rtl.ant-input-group > .ant-input:last-child,
.ant-input-group-rtl.ant-input-group-addon:last-child {
  border-radius: 2px 0 0 2px;
}
.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child) {
  border-radius: 2px 0 0 2px;
}
.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child) {
  border-radius: 0 2px 2px 0;
}
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) {
  margin-right: 0;
  margin-left: -1px;
  border-left-width: 1px;
}
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {
  border-radius: 0 2px 2px 0;
}
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {
  border-left-width: 1px;
  border-radius: 2px 0 0 2px;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl + .ant-input-group-wrapper-rtl {
  margin-right: -1px;
  margin-left: 0;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input {
  border-radius: 0 2px 2px 0;
}
.ant-input-group-wrapper {
  display: inline-block;
  width: 100%;
  text-align: start;
  vertical-align: top;
}
.ant-input-password-icon {
  color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: all 0.3s;
}
.ant-input-password-icon:hover {
  color: rgba(255, 255, 255, 0.85);
}
.ant-input[type='color'] {
  height: 32px;
}
.ant-input[type='color'].ant-input-lg {
  height: 40px;
}
.ant-input[type='color'].ant-input-sm {
  height: 24px;
  padding-top: 3px;
  padding-bottom: 3px;
}
.ant-input-textarea-show-count::after {
  display: block;
  color: rgba(255, 255, 255, 0.45);
  text-align: right;
  content: attr(data-count);
}
.ant-input-search .ant-input:hover,
.ant-input-search .ant-input:focus {
  border-color: #8e171b;
}
.ant-input-search .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),
.ant-input-search .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {
  border-left-color: #8e171b;
}
.ant-input-search .ant-input-affix-wrapper {
  border-radius: 0;
}
.ant-input-search .ant-input-lg {
  line-height: 1.5713;
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child {
  left: -1px;
  padding: 0;
  border: 0;
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button {
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 0 2px 2px 0;
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary) {
  color: rgba(255, 255, 255, 0.45);
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.ant-input-search-button {
  height: 32px;
}
.ant-input-search-button:hover,
.ant-input-search-button:focus {
  z-index: 1;
}
.ant-input-search-large .ant-input-search-button {
  height: 40px;
}
.ant-input-search-small .ant-input-search-button {
  height: 24px;
}
.ant-input-group-wrapper-rtl {
  direction: rtl;
}
.ant-input-group-rtl {
  direction: rtl;
}
.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl > input.ant-input {
  border: none;
  outline: none;
}
.ant-input-affix-wrapper-rtl .ant-input-prefix {
  margin: 0 0 0 4px;
}
.ant-input-affix-wrapper-rtl .ant-input-suffix {
  margin: 0 4px 0 0;
}
.ant-input-textarea-rtl {
  direction: rtl;
}
.ant-input-textarea-rtl.ant-input-textarea-show-count::after {
  text-align: left;
}
.ant-input-affix-wrapper-rtl .ant-input-clear-icon:last-child {
  margin-right: 4px;
  margin-left: 0;
}
.ant-input-affix-wrapper-rtl .ant-input-clear-icon {
  right: auto;
  left: 8px;
}
.ant-input-search-rtl {
  direction: rtl;
}
.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),
.ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {
  border-right-color: #8e171b;
  border-left-color: #434343;
}
.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper:hover,
.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper-focused {
  border-right-color: #8e171b;
}
.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon {
  right: -1px;
  left: auto;
}
.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon .ant-input-search-button {
  border-radius: 2px 0 0 2px;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ant-input {
    height: 32px;
  }
  .ant-input-lg {
    height: 40px;
  }
  .ant-input-sm {
    height: 24px;
  }
  .ant-input-affix-wrapper > input.ant-input {
    height: auto;
  }
}
textarea.nz-textarea-autosize-measuring {
  height: auto !important;
  overflow: hidden !important;
  padding: 2px 0 !important;
  box-sizing: content-box !important;
}
.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only,
.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only {
  width: 32px;
  height: 32px;
}
.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm,
.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm {
  width: 24px;
  height: 24px;
}
.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg,
.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg {
  width: 40px;
  height: 40px;
}
@-webkit-keyframes antCheckboxEffect {
  0% {
    transform: scale(1);
    opacity: 0.5;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}
@keyframes antCheckboxEffect {
  0% {
    transform: scale(1);
    opacity: 0.5;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}
.ant-checkbox {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  top: -0.09em;
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
  outline: none;
  cursor: pointer;
}
.ant-checkbox-wrapper:hover .ant-checkbox-inner,
.ant-checkbox:hover .ant-checkbox-inner,
.ant-checkbox-input:focus + .ant-checkbox-inner {
  border-color: #cf191f;
}
.ant-checkbox-checked::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #cf191f;
  border-radius: 2px;
  visibility: hidden;
  -webkit-animation: antCheckboxEffect 0.36s ease-in-out;
          animation: antCheckboxEffect 0.36s ease-in-out;
  -webkit-animation-fill-mode: backwards;
          animation-fill-mode: backwards;
  content: '';
}
.ant-checkbox:hover::after,
.ant-checkbox-wrapper:hover .ant-checkbox::after {
  visibility: visible;
}
.ant-checkbox-inner {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 16px;
  height: 16px;
  direction: ltr;
  background-color: transparent;
  border: 1px solid #434343;
  border-radius: 2px;
  border-collapse: separate;
  transition: all 0.3s;
}
.ant-checkbox-inner::after {
  position: absolute;
  top: 50%;
  left: 22%;
  display: table;
  width: 5.71428571px;
  height: 9.14285714px;
  border: 2px solid #fff;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg) scale(0) translate(-50%, -50%);
  opacity: 0;
  transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s;
  content: ' ';
}
.ant-checkbox-input {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}
.ant-checkbox-checked .ant-checkbox-inner::after {
  position: absolute;
  display: table;
  border: 2px solid #fff;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg) scale(1) translate(-50%, -50%);
  opacity: 1;
  transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;
  content: ' ';
}
.ant-checkbox-checked .ant-checkbox-inner {
  background-color: #cf191f;
  border-color: #cf191f;
}
.ant-checkbox-disabled {
  cursor: not-allowed;
}
.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after {
  border-color: rgba(255, 255, 255, 0.3);
  -webkit-animation-name: none;
          animation-name: none;
}
.ant-checkbox-disabled .ant-checkbox-input {
  cursor: not-allowed;
}
.ant-checkbox-disabled .ant-checkbox-inner {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: #434343 !important;
}
.ant-checkbox-disabled .ant-checkbox-inner::after {
  border-color: rgba(255, 255, 255, 0.08);
  border-collapse: separate;
  -webkit-animation-name: none;
          animation-name: none;
}
.ant-checkbox-disabled + span {
  color: rgba(255, 255, 255, 0.3);
  cursor: not-allowed;
}
.ant-checkbox-disabled:hover::after,
.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after {
  visibility: hidden;
}
.ant-checkbox-wrapper {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  display: inline-block;
  line-height: unset;
  cursor: pointer;
}
.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled {
  cursor: not-allowed;
}
.ant-checkbox-wrapper + .ant-checkbox-wrapper {
  margin-left: 8px;
}
.ant-checkbox + span {
  padding-right: 8px;
  padding-left: 8px;
}
.ant-checkbox-group {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  display: inline-block;
}
.ant-checkbox-group-item {
  display: inline-block;
  margin-right: 8px;
}
.ant-checkbox-group-item:last-child {
  margin-right: 0;
}
.ant-checkbox-group-item + .ant-checkbox-group-item {
  margin-left: 0;
}
.ant-checkbox-indeterminate .ant-checkbox-inner {
  background-color: transparent;
  border-color: #434343;
}
.ant-checkbox-indeterminate .ant-checkbox-inner::after {
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background-color: #cf191f;
  border: 0;
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  content: ' ';
}
.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after {
  background-color: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.3);
}
.ant-checkbox-rtl {
  direction: rtl;
}
.ant-checkbox-group-rtl .ant-checkbox-group-item {
  margin-right: 0;
  margin-left: 8px;
}
.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child {
  margin-left: 0 !important;
}
.ant-checkbox-group-rtl .ant-checkbox-group-item + .ant-checkbox-group-item {
  margin-left: 8px;
}
.ant-checkbox + span:empty {
  display: none;
}
.ant-notification .ant-picker-clear,
.ant-notification .ant-slider-handle,
.ant-notification .ant-anchor-wrapper,
.ant-notification .ant-collapse-content,
.ant-notification .ant-timeline-item-head,
.ant-notification .ant-card {
  background-color: #1f1f1f;
}
.ant-notification .ant-transfer-list-header {
  background: #1f1f1f;
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {
  background-color: rgba(255, 255, 255, 0.08);
}
.ant-notification tr.ant-table-expanded-row > td,
.ant-notification tr.ant-table-expanded-row:hover > td {
  background: #272727;
}
.ant-notification .ant-table.ant-table-small thead > tr > th {
  background-color: #1f1f1f;
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-table {
  background-color: #1f1f1f;
}
.ant-notification .ant-table .ant-table-row-expand-icon {
  border: 1px solid #3a3a3a;
}
.ant-notification .ant-table tfoot > tr > th,
.ant-notification .ant-table tfoot > tr > td {
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-table thead > tr > th {
  background-color: #272727;
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-table tbody > tr > td {
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-table tbody > tr > td.ant-table-cell-fix-left,
.ant-notification .ant-table tbody > tr > td.ant-table-cell-fix-right {
  background-color: #1f1f1f;
}
.ant-notification .ant-table tbody > tr.ant-table-row:hover > td {
  background: #303030;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-title {
  border: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered thead > tr > th,
.ant-notification .ant-table.ant-table-bordered tbody > tr > td,
.ant-notification .ant-table.ant-table-bordered tfoot > tr > th,
.ant-notification .ant-table.ant-table-bordered tfoot > tr > td {
  border-right: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after {
  border-right: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered table thead > tr:not(:last-child) > th {
  border-bottom: 1px solid #303030;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-container {
  border: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after {
  border-right: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-footer {
  border: 1px solid #3a3a3a;
}
.ant-notification .ant-table .ant-table-filter-trigger-container-open {
  background-color: #525252;
}
.ant-notification .ant-picker-calendar-full {
  background-color: #1f1f1f;
}
.ant-notification .ant-picker-calendar-full .ant-picker-panel {
  background-color: #1f1f1f;
}
.ant-notification .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date {
  border-top: 2px solid #3a3a3a;
}
.ant-notification .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active {
  background-color: #1f1f1f;
  border-bottom: 1px solid #1f1f1f;
}
.ant-notification .ant-badge-count {
  box-shadow: 0 0 0 1px #1f1f1f;
}
.ant-notification .ant-tree-show-line .ant-tree-switcher {
  background: #1f1f1f;
}
.ant-notification {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: fixed;
  z-index: 1010;
  margin-right: 24px;
}
.ant-notification-topLeft,
.ant-notification-bottomLeft {
  margin-right: 0;
  margin-left: 24px;
}
.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,
.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,
.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,
.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active {
  -webkit-animation-name: NotificationLeftFadeIn;
          animation-name: NotificationLeftFadeIn;
}
.ant-notification-close-icon {
  font-size: 14px;
  cursor: pointer;
}
.ant-notification-hook-holder,
.ant-notification-notice {
  position: relative;
  width: 384px;
  max-width: calc(100vw - 24px * 2);
  margin-bottom: 16px;
  margin-left: auto;
  overflow: hidden;
  word-wrap: break-word;
  background: #1f1f1f;
  border-radius: 2px;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}
.ant-notification-topLeft .ant-notification-hook-holder,
.ant-notification-topLeft .ant-notification-notice,
.ant-notification-bottomLeft .ant-notification-hook-holder,
.ant-notification-bottomLeft .ant-notification-notice {
  margin-right: auto;
  margin-left: 0;
}
.ant-notification-hook-holder > .ant-notification-notice {
  margin-bottom: 0;
  box-shadow: none;
}
.ant-notification-notice {
  padding: 16px 24px;
  line-height: 1.5715;
}
.ant-notification-notice-message {
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 16px;
  line-height: 24px;
}
.ant-notification-notice-message-single-line-auto-margin {
  display: block;
  width: calc(384px - 24px * 2 - 24px - 48px - 100%);
  max-width: 4px;
  background-color: transparent;
  pointer-events: none;
}
.ant-notification-notice-message-single-line-auto-margin::before {
  display: block;
  content: '';
}
.ant-notification-notice-description {
  font-size: 14px;
}
.ant-notification-notice-closable .ant-notification-notice-message {
  padding-right: 24px;
}
.ant-notification-notice-with-icon .ant-notification-notice-message {
  margin-bottom: 4px;
  margin-left: 48px;
  font-size: 16px;
}
.ant-notification-notice-with-icon .ant-notification-notice-description {
  margin-left: 48px;
  font-size: 14px;
}
.ant-notification-notice-icon {
  position: absolute;
  margin-left: 4px;
  font-size: 24px;
  line-height: 24px;
}
.anticon.ant-notification-notice-icon-success {
  color: #49aa19;
}
.anticon.ant-notification-notice-icon-info {
  color: #cf191f;
}
.anticon.ant-notification-notice-icon-warning {
  color: #d89614;
}
.anticon.ant-notification-notice-icon-error {
  color: #a61d24;
}
.ant-notification-notice-close {
  position: absolute;
  top: 16px;
  right: 22px;
  color: rgba(255, 255, 255, 0.45);
  outline: none;
}
.ant-notification-notice-close:hover {
  color: rgba(255, 255, 255, 0.85);
}
.ant-notification-notice-btn {
  float: right;
  margin-top: 16px;
}
.ant-notification .notification-fade-effect {
  -webkit-animation-duration: 0.24s;
          animation-duration: 0.24s;
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.ant-notification-fade-enter,
.ant-notification-fade-appear {
  opacity: 0;
  -webkit-animation-duration: 0.24s;
          animation-duration: 0.24s;
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.ant-notification-fade-leave {
  -webkit-animation-duration: 0.24s;
          animation-duration: 0.24s;
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.ant-notification-fade-enter.ant-notification-fade-enter-active,
.ant-notification-fade-appear.ant-notification-fade-appear-active {
  -webkit-animation-name: NotificationFadeIn;
          animation-name: NotificationFadeIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.ant-notification-fade-leave.ant-notification-fade-leave-active {
  -webkit-animation-name: NotificationFadeOut;
          animation-name: NotificationFadeOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
@-webkit-keyframes NotificationFadeIn {
  0% {
    left: 384px;
    opacity: 0;
  }
  100% {
    left: 0;
    opacity: 1;
  }
}
@keyframes NotificationFadeIn {
  0% {
    left: 384px;
    opacity: 0;
  }
  100% {
    left: 0;
    opacity: 1;
  }
}
@-webkit-keyframes NotificationLeftFadeIn {
  0% {
    right: 384px;
    opacity: 0;
  }
  100% {
    right: 0;
    opacity: 1;
  }
}
@keyframes NotificationLeftFadeIn {
  0% {
    right: 384px;
    opacity: 0;
  }
  100% {
    right: 0;
    opacity: 1;
  }
}
@-webkit-keyframes NotificationFadeOut {
  0% {
    max-height: 150px;
    margin-bottom: 16px;
    opacity: 1;
  }
  100% {
    max-height: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
  }
}
@keyframes NotificationFadeOut {
  0% {
    max-height: 150px;
    margin-bottom: 16px;
    opacity: 1;
  }
  100% {
    max-height: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
  }
}
.ant-notification-rtl {
  direction: rtl;
}
.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message {
  padding-right: 0;
  padding-left: 24px;
}
.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message {
  margin-right: 48px;
  margin-left: 0;
}
.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description {
  margin-right: 48px;
  margin-left: 0;
}
.ant-notification-rtl .ant-notification-notice-icon {
  margin-right: 4px;
  margin-left: 0;
}
.ant-notification-rtl .ant-notification-notice-close {
  right: auto;
  left: 22px;
}
.ant-notification-rtl .ant-notification-notice-btn {
  float: left;
}
.ant-rate {
  box-sizing: border-box;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  font-feature-settings: 'tnum';
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #d8bd14;
  font-size: 20px;
  line-height: unset;
  list-style: none;
  outline: none;
}
.ant-rate-disabled .ant-rate-star {
  cursor: default;
}
.ant-rate-disabled .ant-rate-star:hover {
  transform: scale(1);
}
.ant-rate-star {
  position: relative;
  display: inline-block;
  color: inherit;
  cursor: pointer;
  transition: all 0.3s;
}
.ant-rate-star:not(:last-child) {
  margin-right: 8px;
}
.ant-rate-star > div:focus {
  outline: 0;
}
.ant-rate-star > div:hover,
.ant-rate-star > div:focus {
  transform: scale(1.1);
}
.ant-rate-star-first,
.ant-rate-star-second {
  color: rgba(255, 255, 255, 0.12);
  transition: all 0.3s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-rate-star-first .anticon,
.ant-rate-star-second .anticon {
  vertical-align: middle;
}
.ant-rate-star-first {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
}
.ant-rate-star-half .ant-rate-star-first,
.ant-rate-star-half .ant-rate-star-second {
  opacity: 1;
}
.ant-rate-star-half .ant-rate-star-first,
.ant-rate-star-full .ant-rate-star-second {
  color: inherit;
}
.ant-rate-text {
  display: inline-block;
  margin: 0 8px;
  font-size: 14px;
}
.ant-rate-rtl {
  direction: rtl;
}
.ant-rate-rtl .ant-rate-star:not(:last-child) {
  margin-right: 0;
  margin-left: 8px;
}
.ant-rate-rtl .ant-rate-star-first {
  right: 0;
  left: auto;
}
.ant-tooltip {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: absolute;
  z-index: 1070;
  display: block;
  max-width: 250px;
  visibility: visible;
}
.ant-tooltip-hidden {
  display: none;
}
.ant-tooltip-placement-top,
.ant-tooltip-placement-topLeft,
.ant-tooltip-placement-topRight {
  padding-bottom: 8px;
}
.ant-tooltip-placement-right,
.ant-tooltip-placement-rightTop,
.ant-tooltip-placement-rightBottom {
  padding-left: 8px;
}
.ant-tooltip-placement-bottom,
.ant-tooltip-placement-bottomLeft,
.ant-tooltip-placement-bottomRight {
  padding-top: 8px;
}
.ant-tooltip-placement-left,
.ant-tooltip-placement-leftTop,
.ant-tooltip-placement-leftBottom {
  padding-right: 8px;
}
.ant-tooltip-inner {
  min-width: 30px;
  min-height: 32px;
  padding: 6px 8px;
  color: #fff;
  text-align: left;
  text-decoration: none;
  word-wrap: break-word;
  background-color: #434343;
  border-radius: 2px;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}
.ant-tooltip-arrow {
  position: absolute;
  display: block;
  width: 13.07106781px;
  height: 13.07106781px;
  overflow: hidden;
  background: transparent;
  pointer-events: none;
}
.ant-tooltip-arrow-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;
  margin: auto;
  background-color: #434343;
  content: '';
  pointer-events: auto;
}
.ant-tooltip-placement-top .ant-tooltip-arrow,
.ant-tooltip-placement-topLeft .ant-tooltip-arrow,
.ant-tooltip-placement-topRight .ant-tooltip-arrow {
  bottom: -5.07106781px;
}
.ant-tooltip-placement-top .ant-tooltip-arrow-content,
.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content,
.ant-tooltip-placement-topRight .ant-tooltip-arrow-content {
  box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);
  transform: translateY(-6.53553391px) rotate(45deg);
}
.ant-tooltip-placement-top .ant-tooltip-arrow {
  left: 50%;
  transform: translateX(-50%);
}
.ant-tooltip-placement-topLeft .ant-tooltip-arrow {
  left: 13px;
}
.ant-tooltip-placement-topRight .ant-tooltip-arrow {
  right: 13px;
}
.ant-tooltip-placement-right .ant-tooltip-arrow,
.ant-tooltip-placement-rightTop .ant-tooltip-arrow,
.ant-tooltip-placement-rightBottom .ant-tooltip-arrow {
  left: -5.07106781px;
}
.ant-tooltip-placement-right .ant-tooltip-arrow-content,
.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content,
.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content {
  box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);
  transform: translateX(6.53553391px) rotate(45deg);
}
.ant-tooltip-placement-right .ant-tooltip-arrow {
  top: 50%;
  transform: translateY(-50%);
}
.ant-tooltip-placement-rightTop .ant-tooltip-arrow {
  top: 5px;
}
.ant-tooltip-placement-rightBottom .ant-tooltip-arrow {
  bottom: 5px;
}
.ant-tooltip-placement-left .ant-tooltip-arrow,
.ant-tooltip-placement-leftTop .ant-tooltip-arrow,
.ant-tooltip-placement-leftBottom .ant-tooltip-arrow {
  right: -5.07106781px;
}
.ant-tooltip-placement-left .ant-tooltip-arrow-content,
.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content,
.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content {
  box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);
  transform: translateX(-6.53553391px) rotate(45deg);
}
.ant-tooltip-placement-left .ant-tooltip-arrow {
  top: 50%;
  transform: translateY(-50%);
}
.ant-tooltip-placement-leftTop .ant-tooltip-arrow {
  top: 5px;
}
.ant-tooltip-placement-leftBottom .ant-tooltip-arrow {
  bottom: 5px;
}
.ant-tooltip-placement-bottom .ant-tooltip-arrow,
.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,
.ant-tooltip-placement-bottomRight .ant-tooltip-arrow {
  top: -5.07106781px;
}
.ant-tooltip-placement-bottom .ant-tooltip-arrow-content,
.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content,
.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content {
  box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.07);
  transform: translateY(6.53553391px) rotate(45deg);
}
.ant-tooltip-placement-bottom .ant-tooltip-arrow {
  left: 50%;
  transform: translateX(-50%);
}
.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow {
  left: 13px;
}
.ant-tooltip-placement-bottomRight .ant-tooltip-arrow {
  right: 13px;
}
.ant-tooltip-pink .ant-tooltip-inner {
  background-color: #cb2b83;
}
.ant-tooltip-pink .ant-tooltip-arrow-content {
  background-color: #cb2b83;
}
.ant-tooltip-magenta .ant-tooltip-inner {
  background-color: #cb2b83;
}
.ant-tooltip-magenta .ant-tooltip-arrow-content {
  background-color: #cb2b83;
}
.ant-tooltip-red .ant-tooltip-inner {
  background-color: #d32029;
}
.ant-tooltip-red .ant-tooltip-arrow-content {
  background-color: #d32029;
}
.ant-tooltip-volcano .ant-tooltip-inner {
  background-color: #d84a1b;
}
.ant-tooltip-volcano .ant-tooltip-arrow-content {
  background-color: #d84a1b;
}
.ant-tooltip-orange .ant-tooltip-inner {
  background-color: #d87a16;
}
.ant-tooltip-orange .ant-tooltip-arrow-content {
  background-color: #d87a16;
}
.ant-tooltip-yellow .ant-tooltip-inner {
  background-color: #d8bd14;
}
.ant-tooltip-yellow .ant-tooltip-arrow-content {
  background-color: #d8bd14;
}
.ant-tooltip-gold .ant-tooltip-inner {
  background-color: #d89614;
}
.ant-tooltip-gold .ant-tooltip-arrow-content {
  background-color: #d89614;
}
.ant-tooltip-cyan .ant-tooltip-inner {
  background-color: #13a8a8;
}
.ant-tooltip-cyan .ant-tooltip-arrow-content {
  background-color: #13a8a8;
}
.ant-tooltip-lime .ant-tooltip-inner {
  background-color: #8bbb11;
}
.ant-tooltip-lime .ant-tooltip-arrow-content {
  background-color: #8bbb11;
}
.ant-tooltip-green .ant-tooltip-inner {
  background-color: #49aa19;
}
.ant-tooltip-green .ant-tooltip-arrow-content {
  background-color: #49aa19;
}
.ant-tooltip-blue .ant-tooltip-inner {
  background-color: #177ddc;
}
.ant-tooltip-blue .ant-tooltip-arrow-content {
  background-color: #177ddc;
}
.ant-tooltip-geekblue .ant-tooltip-inner {
  background-color: #2b4acb;
}
.ant-tooltip-geekblue .ant-tooltip-arrow-content {
  background-color: #2b4acb;
}
.ant-tooltip-purple .ant-tooltip-inner {
  background-color: #642ab5;
}
.ant-tooltip-purple .ant-tooltip-arrow-content {
  background-color: #642ab5;
}
.ant-tooltip-rtl {
  direction: rtl;
}
.ant-tooltip-rtl .ant-tooltip-inner {
  text-align: right;
}
.ant-tooltip {
  position: relative;
}
.ant-slider {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  height: 12px;
  margin: 10px 6px 10px;
  padding: 4px 0;
  cursor: pointer;
  touch-action: none;
}
.ant-slider-vertical {
  width: 12px;
  height: 100%;
  margin: 6px 10px;
  padding: 0 4px;
}
.ant-slider-vertical .ant-slider-rail {
  width: 4px;
  height: 100%;
}
.ant-slider-vertical .ant-slider-track {
  width: 4px;
}
.ant-slider-vertical .ant-slider-handle {
  margin-top: -6px;
  margin-left: -5px;
}
.ant-slider-vertical .ant-slider-mark {
  top: 0;
  left: 12px;
  width: 18px;
  height: 100%;
}
.ant-slider-vertical .ant-slider-mark-text {
  left: 4px;
  white-space: nowrap;
}
.ant-slider-vertical .ant-slider-step {
  width: 4px;
  height: 100%;
}
.ant-slider-vertical .ant-slider-dot {
  top: auto;
  left: 2px;
  margin-bottom: -4px;
}
.ant-slider-tooltip .ant-tooltip-inner {
  min-width: unset;
}
.ant-slider-rtl.ant-slider-vertical .ant-slider-handle {
  margin-right: -5px;
  margin-left: 0;
}
.ant-slider-rtl.ant-slider-vertical .ant-slider-mark {
  right: 12px;
  left: auto;
}
.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text {
  right: 4px;
  left: auto;
}
.ant-slider-rtl.ant-slider-vertical .ant-slider-dot {
  right: 2px;
  left: auto;
}
.ant-slider-with-marks {
  margin-bottom: 28px;
}
.ant-slider-rail {
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #262626;
  border-radius: 2px;
  transition: background-color 0.3s;
}
.ant-slider-track {
  position: absolute;
  height: 4px;
  background-color: var(--uni-red-100);
  border-radius: 2px;
  transition: background-color 0.3s;
}
.ant-slider-handle {
  position: absolute;
  width: 14px;
  height: 14px;
  margin-top: -5px;
  background-color: var(--uni-red-100);
  border: solid 2px var(--uni-red-100);
  border-radius: 50%;
  box-shadow: 0;
  cursor: pointer;
  transition: border-color 0.3s, box-shadow 0.6s, transform 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}
.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging {
  border-color: #d9474c;
  box-shadow: 0 0 0 5px rgba(207, 25, 31, 0.12);
}
.ant-slider-handle:focus {
  border-color: #d9474c;
  outline: none;
  box-shadow: 0 0 0 5px rgba(207, 25, 31, 0.12);
}
.ant-slider-handle.ant-tooltip-open {
  border-color: #cf191f;
}
.ant-slider:hover .ant-slider-rail {
  background-color: #434343;
}
.ant-slider:hover .ant-slider-track {
  background-color: var(--uni-red-100);
}
.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) {
  border-color: var(--uni-red-100);
}
.ant-slider-mark {
  position: absolute;
  top: 14px;
  left: 0;
  width: 100%;
  font-size: 14px;
}
.ant-slider-mark-text {
  position: absolute;
  display: inline-block;
  color: rgba(255, 255, 255, 0.45);
  text-align: center;
  word-break: keep-all;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-slider-mark-text-active {
  color: var(--uni-contrast-500);
}
.ant-slider-step {
  position: absolute;
  width: 100%;
  height: 4px;
  background: transparent;
}
.ant-slider-dot {
  position: absolute;
  top: -2px;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  background-color: #141414;
  border: 2px solid #303030;
  border-radius: 50%;
  cursor: pointer;
}
.ant-slider-dot:first-child {
  margin-left: -4px;
}
.ant-slider-dot:last-child {
  margin-left: -4px;
}
.ant-slider-dot-active {
  border-color: #681619;
}
.ant-slider-disabled {
  cursor: not-allowed;
}
.ant-slider-disabled .ant-slider-track {
  background-color: rgba(255, 255, 255, 0.3) !important;
}
.ant-slider-disabled .ant-slider-handle,
.ant-slider-disabled .ant-slider-dot {
  background-color: #141414;
  border-color: rgba(255, 255, 255, 0.3) !important;
  box-shadow: none;
  cursor: not-allowed;
}
.ant-slider-disabled .ant-slider-mark-text,
.ant-slider-disabled .ant-slider-dot {
  cursor: not-allowed !important;
}
.ant-slider-rtl {
  direction: rtl;
}
.ant-slider-rtl .ant-slider-mark {
  right: 0;
  left: auto;
}
.ant-slider-rtl .ant-slider-dot {
  margin-right: -4px;
  margin-left: 0;
}
.ant-slider-rtl .ant-slider-dot:first-child {
  margin-right: -4px;
  margin-left: 0;
}
.ant-slider-rtl .ant-slider-dot:last-child {
  margin-right: -4px;
  margin-left: 0;
}
.ant-modal {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  pointer-events: none;
  position: relative;
  top: 100px;
  width: auto;
  max-width: calc(100vw - 32px);
  margin: 0 auto;
  padding-bottom: 24px;
}
.ant-modal.zoom-enter,
.ant-modal.zoom-appear {
  transform: none;
  opacity: 0;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-modal-mask {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}
.ant-modal-mask-hidden {
  display: none;
}
.ant-modal-wrap {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  outline: 0;
  -webkit-overflow-scrolling: touch;
}
.ant-modal-wrap {
  z-index: 1000;
}
.ant-modal-title {
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  word-wrap: break-word;
}
.ant-modal-content {
  position: relative;
  background-color: #1f1f1f;
  background-clip: padding-box;
  border: 0;
  border-radius: 2px;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
  pointer-events: auto;
}
.ant-modal-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  padding: 0;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  background: transparent;
  border: 0;
  outline: 0;
  cursor: pointer;
  transition: color 0.3s;
}
.ant-modal-close-x {
  display: block;
  width: 56px;
  height: 56px;
  font-size: 16px;
  font-style: normal;
  line-height: 56px;
  text-align: center;
  text-transform: none;
  text-rendering: auto;
}
.ant-modal-close:focus,
.ant-modal-close:hover {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
}
.ant-modal-header {
  padding: 16px 24px;
  color: var(--uni-contrast-500);
  background: #1f1f1f;
  border-bottom: 1px solid #303030;
  border-radius: 2px 2px 0 0;
}
.ant-modal-body {
  padding: 24px;
  font-size: 14px;
  line-height: 1.5715;
  word-wrap: break-word;
}
.ant-modal-footer {
  padding: 10px 16px;
  text-align: right;
  background: transparent;
  border-top: 1px solid #303030;
  border-radius: 0 0 2px 2px;
}
.ant-modal-footer button + button {
  margin-bottom: 0;
  margin-left: 8px;
}
.ant-modal-open {
  overflow: hidden;
}
.ant-modal-centered {
  text-align: center;
}
.ant-modal-centered::before {
  display: inline-block;
  width: 0;
  height: 100%;
  vertical-align: middle;
  content: '';
}
.ant-modal-centered .ant-modal {
  top: 0;
  display: inline-block;
  text-align: left;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .ant-modal {
    max-width: calc(100vw - 16px);
    margin: 8px auto;
  }
  .ant-modal-centered .ant-modal {
    flex: 1;
  }
}
.ant-modal-confirm .ant-modal-header {
  display: none;
}
.ant-modal-confirm .ant-modal-body {
  padding: 32px 32px 24px;
}
.ant-modal-confirm-body-wrapper::before {
  display: table;
  content: '';
}
.ant-modal-confirm-body-wrapper::after {
  display: table;
  clear: both;
  content: '';
}
.ant-modal-confirm-body-wrapper::before {
  display: table;
  content: '';
}
.ant-modal-confirm-body-wrapper::after {
  display: table;
  clear: both;
  content: '';
}
.ant-modal-confirm-body .ant-modal-confirm-title {
  display: block;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
}
.ant-modal-confirm-body .ant-modal-confirm-content {
  margin-top: 8px;
  color: var(--uni-contrast-500);
  font-size: 14px;
}
.ant-modal-confirm-body > .anticon {
  float: left;
  margin-right: 16px;
  font-size: 22px;
}
.ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content {
  margin-left: 38px;
}
.ant-modal-confirm .ant-modal-confirm-btns {
  float: right;
  margin-top: 24px;
}
.ant-modal-confirm .ant-modal-confirm-btns button + button {
  margin-bottom: 0;
  margin-left: 8px;
}
.ant-modal-confirm-error .ant-modal-confirm-body > .anticon {
  color: #a61d24;
}
.ant-modal-confirm-warning .ant-modal-confirm-body > .anticon,
.ant-modal-confirm-confirm .ant-modal-confirm-body > .anticon {
  color: #d89614;
}
.ant-modal-confirm-info .ant-modal-confirm-body > .anticon {
  color: #cf191f;
}
.ant-modal-confirm-success .ant-modal-confirm-body > .anticon {
  color: #49aa19;
}
.ant-modal .ant-picker-clear,
.ant-modal .ant-slider-handle,
.ant-modal .ant-anchor-wrapper,
.ant-modal .ant-collapse-content,
.ant-modal .ant-timeline-item-head,
.ant-modal .ant-card {
  background-color: #1f1f1f;
}
.ant-modal .ant-transfer-list-header {
  background: #1f1f1f;
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {
  background-color: rgba(255, 255, 255, 0.08);
}
.ant-modal tr.ant-table-expanded-row > td,
.ant-modal tr.ant-table-expanded-row:hover > td {
  background: #272727;
}
.ant-modal .ant-table.ant-table-small thead > tr > th {
  background-color: #1f1f1f;
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-table {
  background-color: #1f1f1f;
}
.ant-modal .ant-table .ant-table-row-expand-icon {
  border: 1px solid #3a3a3a;
}
.ant-modal .ant-table tfoot > tr > th,
.ant-modal .ant-table tfoot > tr > td {
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-table thead > tr > th {
  background-color: #272727;
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-table tbody > tr > td {
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-table tbody > tr > td.ant-table-cell-fix-left,
.ant-modal .ant-table tbody > tr > td.ant-table-cell-fix-right {
  background-color: #1f1f1f;
}
.ant-modal .ant-table tbody > tr.ant-table-row:hover > td {
  background: #303030;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-title {
  border: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered thead > tr > th,
.ant-modal .ant-table.ant-table-bordered tbody > tr > td,
.ant-modal .ant-table.ant-table-bordered tfoot > tr > th,
.ant-modal .ant-table.ant-table-bordered tfoot > tr > td {
  border-right: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after {
  border-right: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered table thead > tr:not(:last-child) > th {
  border-bottom: 1px solid #303030;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-container {
  border: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after {
  border-right: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-footer {
  border: 1px solid #3a3a3a;
}
.ant-modal .ant-table .ant-table-filter-trigger-container-open {
  background-color: #525252;
}
.ant-modal .ant-picker-calendar-full {
  background-color: #1f1f1f;
}
.ant-modal .ant-picker-calendar-full .ant-picker-panel {
  background-color: #1f1f1f;
}
.ant-modal .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date {
  border-top: 2px solid #3a3a3a;
}
.ant-modal .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active {
  background-color: #1f1f1f;
  border-bottom: 1px solid #1f1f1f;
}
.ant-modal .ant-badge-count {
  box-shadow: 0 0 0 1px #1f1f1f;
}
.ant-modal .ant-tree-show-line .ant-tree-switcher {
  background: #1f1f1f;
}
.ant-modal-wrap-rtl {
  direction: rtl;
}
.ant-modal-wrap-rtl .ant-modal-close {
  right: initial;
  left: 0;
}
.ant-modal-wrap-rtl .ant-modal-footer {
  text-align: left;
}
.ant-modal-wrap-rtl .ant-modal-footer button + button {
  margin-right: 8px;
  margin-left: 0;
}
.ant-modal-wrap-rtl .ant-modal-confirm-body {
  direction: rtl;
}
.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon {
  float: right;
  margin-right: 0;
  margin-left: 16px;
}
.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content {
  margin-right: 38px;
  margin-left: 0;
}
.ant-modal-wrap-rtl .ant-modal-confirm-btns {
  float: left;
}
.ant-modal-wrap-rtl .ant-modal-confirm-btns button + button {
  margin-right: 8px;
  margin-left: 0;
}
.ant-modal-wrap-rtl.ant-modal-centered .ant-modal {
  text-align: right;
}
.ant-select-single .ant-select-selector {
  display: flex;
}
.ant-select-single .ant-select-selector .ant-select-selection-search {
  position: absolute;
  top: 0;
  right: 11px;
  bottom: 0;
  left: 11px;
}
.ant-select-single .ant-select-selector .ant-select-selection-search-input {
  width: 100%;
}
.ant-select-single .ant-select-selector .ant-select-selection-item,
.ant-select-single .ant-select-selector .ant-select-selection-placeholder {
  padding: 0;
  line-height: 30px;
  transition: all 0.3s;
}
@supports (-moz-appearance: meterbar) {
  .ant-select-single .ant-select-selector .ant-select-selection-item,
  .ant-select-single .ant-select-selector .ant-select-selection-placeholder {
    line-height: 30px;
  }
}
.ant-select-single .ant-select-selector .ant-select-selection-item {
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-select-single .ant-select-selector .ant-select-selection-placeholder {
  pointer-events: none;
}
.ant-select-single .ant-select-selector::after,
.ant-select-single .ant-select-selector .ant-select-selection-item::after,
.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after {
  display: inline-block;
  width: 0;
  visibility: hidden;
  content: '\a0';
}
.ant-select-single.ant-select-show-arrow .ant-select-selection-search {
  right: 25px;
}
.ant-select-single.ant-select-show-arrow .ant-select-selection-item,
.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder {
  padding-right: 18px;
}
.ant-select-single.ant-select-open .ant-select-selection-item {
  color: rgba(255, 255, 255, 0.3);
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
  width: 100%;
  height: 32px;
  padding: 0 11px;
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {
  height: 30px;
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after {
  line-height: 30px;
}
.ant-select-single.ant-select-customize-input .ant-select-selector::after {
  display: none;
}
.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search {
  position: static;
  width: 100%;
}
.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder {
  position: absolute;
  right: 0;
  left: 0;
  padding: 0 11px;
}
.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after {
  display: none;
}
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector {
  height: 40px;
}
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after,
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder {
  line-height: 38px;
}
.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input {
  height: 38px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector {
  height: 24px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after,
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder {
  line-height: 22px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input {
  height: 22px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search {
  right: 7px;
  left: 7px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector {
  padding: 0 7px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search {
  right: 28px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,
.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder {
  padding-right: 21px;
}
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector {
  padding: 0 11px;
}
/**
 * Do not merge `height` & `line-height` under style with `selection` & `search`,
 * since chrome may update to redesign with its align logic.
 */
.ant-select-selection-overflow {
  position: relative;
  display: flex;
  flex: auto;
  flex-wrap: wrap;
  max-width: 100%;
}
.ant-select-selection-overflow-item {
  flex: none;
  max-width: 100%;
}
.ant-select-multiple .ant-select-selector {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1px 4px;
}
.ant-select-show-search.ant-select-multiple .ant-select-selector {
  cursor: text;
}
.ant-select-disabled.ant-select-multiple .ant-select-selector {
  background: #141414;
  cursor: not-allowed;
}
.ant-select-multiple .ant-select-selector::after {
  display: inline-block;
  width: 0;
  margin: 2px 0;
  line-height: 24px;
  content: '\a0';
}
.ant-select-multiple.ant-select-show-arrow .ant-select-selector,
.ant-select-multiple.ant-select-allow-clear .ant-select-selector {
  padding-right: 24px;
}
.ant-select-multiple .ant-select-selection-item {
  position: relative;
  display: flex;
  flex: none;
  box-sizing: border-box;
  max-width: 100%;
  height: 24px;
  margin-top: 2px;
  -webkit-margin-end: 4px;
          margin-inline-end: 4px;
  margin-bottom: 2px;
  -webkit-padding-start: 8px;
          padding-inline-start: 8px;
  -webkit-padding-end: 4px;
          padding-inline-end: 4px;
  line-height: 22px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid #303030;
  border-radius: 2px;
  cursor: default;
  transition: font-size 0.3s, line-height 0.3s, height 0.3s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-select-disabled.ant-select-multiple .ant-select-selection-item {
  color: #595959;
  border-color: #1f1f1f;
  cursor: not-allowed;
}
.ant-select-multiple .ant-select-selection-item-content {
  display: inline-block;
  margin-right: 4px;
  overflow: hidden;
  white-space: pre;
  text-overflow: ellipsis;
}
.ant-select-multiple .ant-select-selection-item-remove {
  color: inherit;
  font-style: normal;
  line-height: 0;
  text-align: center;
  text-transform: none;
  vertical-align: -0.125em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  color: rgba(255, 255, 255, 0.45);
  font-weight: bold;
  font-size: 10px;
  line-height: inherit;
  cursor: pointer;
}
.ant-select-multiple .ant-select-selection-item-remove > * {
  line-height: 1;
}
.ant-select-multiple .ant-select-selection-item-remove svg {
  display: inline-block;
}
.ant-select-multiple .ant-select-selection-item-remove::before {
  display: none;
}
.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon {
  display: block;
}
.ant-select-multiple .ant-select-selection-item-remove > .anticon {
  vertical-align: -0.2em;
}
.ant-select-multiple .ant-select-selection-item-remove:hover {
  color: rgba(255, 255, 255, 0.75);
}
.ant-select-multiple .ant-select-selection-overflow-item + .ant-select-selection-overflow-item .ant-select-selection-search {
  -webkit-margin-start: 0;
          margin-inline-start: 0;
}
.ant-select-multiple .ant-select-selection-search {
  position: relative;
  max-width: 100%;
  margin-top: 2px;
  margin-bottom: 2px;
  -webkit-margin-start: 7px;
          margin-inline-start: 7px;
}
.ant-select-multiple .ant-select-selection-search-input,
.ant-select-multiple .ant-select-selection-search-mirror {
  height: 24px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  line-height: 24px;
  transition: all 0.3s;
}
.ant-select-multiple .ant-select-selection-search-input {
  width: 100%;
  min-width: 4.1px;
}
.ant-select-multiple .ant-select-selection-search-mirror {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  white-space: pre;
  visibility: hidden;
}
.ant-select-multiple .ant-select-selection-placeholder {
  position: absolute;
  top: 50%;
  right: 11px;
  left: 11px;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.ant-select-multiple.ant-select-lg .ant-select-selector::after {
  line-height: 32px;
}
.ant-select-multiple.ant-select-lg .ant-select-selection-item {
  height: 32px;
  line-height: 30px;
}
.ant-select-multiple.ant-select-lg .ant-select-selection-search {
  height: 33px;
  line-height: 33px;
}
.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,
.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror {
  height: 32px;
  line-height: 30px;
}
.ant-select-multiple.ant-select-sm .ant-select-selector::after {
  line-height: 16px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-item {
  height: 16px;
  line-height: 14px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-search {
  height: 17px;
  line-height: 17px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,
.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror {
  height: 16px;
  line-height: 14px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder {
  left: 7px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-search:first-child .ant-select-selection-search-input {
  margin-left: 3px;
}
.ant-select-multiple.ant-select-lg .ant-select-selection-item {
  height: 32px;
  line-height: 32px;
}
.ant-select-disabled .ant-select-selection-item-remove {
  display: none;
}
/* Reset search input style */
.ant-select {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
  position: relative;
  background-color: transparent;
  border: 1px solid #434343;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector input {
  cursor: pointer;
}
.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector {
  cursor: text;
}
.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input {
  cursor: auto;
}
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
  border-color: #cf191f;
  border-right-width: 1px !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(207, 25, 31, 0.2);
}
.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
}
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input {
  cursor: not-allowed;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button {
  display: none;
  -webkit-appearance: none;
}
.ant-select:not(.ant-select-disabled):hover .ant-select-selector {
  border-color: #8e171b;
  border-right-width: 1px !important;
}
.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-select-selection-item {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media all and (-ms-high-contrast: none) {
  .ant-select-selection-item *::-ms-backdrop,
  .ant-select-selection-item {
    flex: auto;
  }
}
.ant-select-selection-placeholder {
  flex: 1;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.3);
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
@media all and (-ms-high-contrast: none) {
  .ant-select-selection-placeholder *::-ms-backdrop,
  .ant-select-selection-placeholder {
    flex: auto;
  }
}
.ant-select-arrow {
  display: inline-block;
  color: inherit;
  font-style: normal;
  line-height: 0;
  text-transform: none;
  vertical-align: -0.125em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 53%;
  right: 11px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
  line-height: 1;
  text-align: center;
  pointer-events: none;
}
.ant-select-arrow > * {
  line-height: 1;
}
.ant-select-arrow svg {
  display: inline-block;
}
.ant-select-arrow::before {
  display: none;
}
.ant-select-arrow .ant-select-arrow-icon {
  display: block;
}
.ant-select-arrow .anticon {
  vertical-align: top;
  transition: transform 0.3s;
}
.ant-select-arrow .anticon > svg {
  vertical-align: top;
}
.ant-select-arrow .anticon:not(.ant-select-suffix) {
  pointer-events: auto;
}
.ant-select-disabled .ant-select-arrow {
  cursor: not-allowed;
}
.ant-select-clear {
  position: absolute;
  top: 50%;
  right: 11px;
  z-index: 1;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
  font-style: normal;
  line-height: 1;
  text-align: center;
  text-transform: none;
  background: #141414;
  cursor: pointer;
  opacity: 0;
  transition: color 0.3s ease, opacity 0.15s ease;
  text-rendering: auto;
}
.ant-select-clear::before {
  display: block;
}
.ant-select-clear:hover {
  color: rgba(255, 255, 255, 0.45);
}
.ant-select:hover .ant-select-clear {
  opacity: 1;
}
.ant-select-dropdown {
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: absolute;
  top: -9999px;
  left: -9999px;
  z-index: 1050;
  box-sizing: border-box;
  padding: 4px 0;
  overflow: hidden;
  font-size: 14px;
  font-variant: initial;
  background-color: #1f1f1f;
  border-radius: 2px;
  outline: none;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}
.ant-select-dropdown.slide-up-enter.slide-up-enter-active.ant-select-dropdown-placement-bottomLeft,
.ant-select-dropdown.slide-up-appear.slide-up-appear-active.ant-select-dropdown-placement-bottomLeft {
  -webkit-animation-name: antSlideUpIn;
          animation-name: antSlideUpIn;
}
.ant-select-dropdown.slide-up-enter.slide-up-enter-active.ant-select-dropdown-placement-topLeft,
.ant-select-dropdown.slide-up-appear.slide-up-appear-active.ant-select-dropdown-placement-topLeft {
  -webkit-animation-name: antSlideDownIn;
          animation-name: antSlideDownIn;
}
.ant-select-dropdown.slide-up-leave.slide-up-leave-active.ant-select-dropdown-placement-bottomLeft {
  -webkit-animation-name: antSlideUpOut;
          animation-name: antSlideUpOut;
}
.ant-select-dropdown.slide-up-leave.slide-up-leave-active.ant-select-dropdown-placement-topLeft {
  -webkit-animation-name: antSlideDownOut;
          animation-name: antSlideDownOut;
}
.ant-select-dropdown-hidden {
  display: none;
}
.ant-select-dropdown-empty {
  color: rgba(255, 255, 255, 0.3);
}
.ant-select-item-empty {
  position: relative;
  display: block;
  min-height: 32px;
  padding: 5px 12px;
  color: var(--uni-contrast-500);
  font-weight: normal;
  font-size: 14px;
  line-height: 22px;
  color: rgba(255, 255, 255, 0.3);
}
.ant-select-item {
  position: relative;
  display: block;
  min-height: 32px;
  padding: 5px 12px;
  color: var(--uni-contrast-500);
  font-weight: normal;
  font-size: 14px;
  line-height: 22px;
  cursor: pointer;
  transition: background 0.3s ease;
}
.ant-select-item-group {
  color: rgba(255, 255, 255, 0.45);
  font-size: 12px;
  cursor: default;
}
.ant-select-item-option {
  display: flex;
}
.ant-select-item-option-content {
  flex: auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ant-select-item-option-state {
  flex: none;
}
.ant-select-item-option-active:not(.ant-select-item-option-disabled) {
  background-color: rgba(255, 255, 255, 0.08);
}
.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
  color: var(--uni-contrast-500);
  font-weight: 600;
  background-color: #251113;
}
.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state {
  color: #cf191f;
}
.ant-select-item-option-disabled {
  color: rgba(255, 255, 255, 0.3);
  cursor: not-allowed;
}
.ant-select-item-option-grouped {
  padding-left: 24px;
}
.ant-select-lg {
  font-size: 16px;
}
.ant-select-borderless .ant-select-selector {
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.ant-select-rtl {
  direction: rtl;
}
.ant-select-rtl .ant-select-arrow {
  right: initial;
  left: 11px;
}
.ant-select-rtl .ant-select-clear {
  right: initial;
  left: 11px;
}
.ant-select-dropdown-rtl {
  direction: rtl;
}
.ant-select-dropdown-rtl .ant-select-item-option-grouped {
  padding-right: 24px;
  padding-left: 12px;
}
.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector,
.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector {
  padding-right: 4px;
  padding-left: 24px;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-item {
  text-align: right;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content {
  margin-right: 0;
  margin-left: 4px;
  text-align: right;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror {
  right: 0;
  left: auto;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-search:first-child > .ant-select-selection-search-input {
  margin-right: 5px !important;
  margin-left: 0 !important;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder {
  right: 11px;
  left: auto;
}
.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder {
  right: 7px;
}
.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item,
.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder {
  right: 0;
  left: 9px;
  text-align: right;
}
.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search {
  right: 11px;
  left: 25px;
}
.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item,
.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder {
  padding-right: 0;
  padding-left: 18px;
}
.ant-select-rtl.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
  padding: 0 11px;
}
.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search {
  right: 0;
}
.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,
.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder {
  padding-right: 0;
  padding-left: 21px;
}
.ant-empty {
  margin: 0 8px;
  font-size: 14px;
  line-height: 1.5715;
  text-align: center;
}
.ant-empty-image {
  height: 100px;
  margin-bottom: 8px;
}
.ant-empty-image img {
  height: 100%;
}
.ant-empty-image svg {
  height: 100%;
  margin: auto;
}
.ant-empty-footer {
  margin-top: 16px;
}
.ant-empty-normal {
  margin: 32px 0;
  color: rgba(255, 255, 255, 0.3);
}
.ant-empty-normal .ant-empty-image {
  height: 40px;
}
.ant-empty-small {
  margin: 8px 0;
  color: rgba(255, 255, 255, 0.3);
}
.ant-empty-small .ant-empty-image {
  height: 35px;
}
.ant-empty-img-default-ellipse {
  fill-opacity: 0.08;
  fill: #fff;
}
.ant-empty-img-default-path-1 {
  fill: #262626;
}
.ant-empty-img-default-path-2 {
  fill: url(#linearGradient-1);
}
.ant-empty-img-default-path-3 {
  fill: #595959;
}
.ant-empty-img-default-path-4 {
  fill: #434343;
}
.ant-empty-img-default-path-5 {
  fill: #595959;
}
.ant-empty-img-default-g {
  fill: #434343;
}
.ant-empty-img-simple-ellipse {
  fill: #fff;
  fill-opacity: 0.08;
}
.ant-empty-img-simple-g {
  stroke: #434343;
}
.ant-empty-img-simple-path {
  fill: #262626;
  stroke: #434343;
}
.ant-empty-rtl {
  direction: rtl;
}
nz-empty {
  display: block;
}
.ant-select-dropdown {
  top: 100%;
  left: 0;
  position: relative;
  width: 100%;
  margin-top: 4px;
  margin-bottom: 4px;
  display: block;
}
.ant-select-dropdown .cdk-virtual-scroll-content-wrapper {
  right: 0;
}
.ant-select-dropdown .full-width {
  contain: initial;
}
.ant-select-dropdown .full-width .cdk-virtual-scroll-content-wrapper {
  position: static;
}
.ant-alert {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  display: flex;
  align-items: center;
  padding: 8px 15px;
  word-wrap: break-word;
  border-radius: 2px;
}
.ant-alert-content {
  flex: 1;
  min-width: 0;
}
.ant-alert-icon {
  margin-right: 8px;
}
.ant-alert-description {
  display: none;
  font-size: 14px;
  line-height: 22px;
}
.ant-alert-success {
  background-color: #162312;
  border: 1px solid #274916;
}
.ant-alert-success .ant-alert-icon {
  color: #49aa19;
}
.ant-alert-info {
  background-color: #251113;
  border: 1px solid #4c1617;
}
.ant-alert-info .ant-alert-icon {
  color: #cf191f;
}
.ant-alert-warning {
  background-color: #2b2111;
  border: 1px solid #594214;
}
.ant-alert-warning .ant-alert-icon {
  color: #d89614;
}
.ant-alert-error {
  background-color: #2a1215;
  border: 1px solid #58181c;
}
.ant-alert-error .ant-alert-icon {
  color: #a61d24;
}
.ant-alert-error .ant-alert-description > pre {
  margin: 0;
  padding: 0;
}
.ant-alert-action {
  margin-left: 8px;
}
.ant-alert-close-icon {
  margin-left: 8px;
  padding: 0;
  overflow: hidden;
  font-size: 12px;
  line-height: 12px;
  background-color: transparent;
  border: none;
  outline: none;
  cursor: pointer;
}
.ant-alert-close-icon .anticon-close {
  color: rgba(255, 255, 255, 0.45);
  transition: color 0.3s;
}
.ant-alert-close-icon .anticon-close:hover {
  color: rgba(255, 255, 255, 0.75);
}
.ant-alert-close-text {
  color: rgba(255, 255, 255, 0.45);
  transition: color 0.3s;
}
.ant-alert-close-text:hover {
  color: rgba(255, 255, 255, 0.75);
}
.ant-alert-with-description {
  align-items: flex-start;
  padding: 15px 15px 15px 24px;
}
.ant-alert-with-description.ant-alert-no-icon {
  padding: 15px 15px;
}
.ant-alert-with-description .ant-alert-icon {
  margin-right: 15px;
  font-size: 24px;
}
.ant-alert-with-description .ant-alert-message {
  display: block;
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 16px;
}
.ant-alert-message {
  color: rgba(255, 255, 255, 0.85);
}
.ant-alert-with-description .ant-alert-description {
  display: block;
}
.ant-alert.ant-alert-motion-leave {
  overflow: hidden;
  opacity: 1;
  transition: max-height 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-top 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), margin-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.ant-alert.ant-alert-motion-leave-active {
  max-height: 0;
  margin-bottom: 0 !important;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}
.ant-alert-banner {
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
}
.ant-alert.ant-alert-rtl {
  direction: rtl;
}
.ant-alert-rtl.ant-alert.ant-alert-no-icon {
  padding: 8px 15px;
}
.ant-alert-rtl .ant-alert-icon {
  margin-right: auto;
  margin-left: 8px;
}
.ant-alert-rtl .ant-alert-action {
  margin-right: 8px;
  margin-left: auto;
}
.ant-alert-rtl .ant-alert-close-icon {
  margin-right: 8px;
  margin-left: auto;
}
.ant-alert-rtl.ant-alert-with-description .ant-alert-icon {
  margin-right: auto;
  margin-left: 15px;
}
nz-alert {
  display: block;
}
.ant-carousel {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
}
.ant-carousel .slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.ant-carousel .slick-list {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.ant-carousel .slick-list:focus {
  outline: none;
}
.ant-carousel .slick-list.dragging {
  cursor: pointer;
}
.ant-carousel .slick-list .slick-slide {
  pointer-events: none;
}
.ant-carousel .slick-list .slick-slide input.ant-radio-input,
.ant-carousel .slick-list .slick-slide input.ant-checkbox-input {
  visibility: hidden;
}
.ant-carousel .slick-list .slick-slide.slick-active {
  pointer-events: auto;
}
.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input,
.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input {
  visibility: visible;
}
.ant-carousel .slick-list .slick-slide > div > div {
  vertical-align: bottom;
}
.ant-carousel .slick-slider .slick-track,
.ant-carousel .slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
  touch-action: pan-y;
}
.ant-carousel .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}
.ant-carousel .slick-track::before,
.ant-carousel .slick-track::after {
  display: table;
  content: '';
}
.ant-carousel .slick-track::after {
  clear: both;
}
.slick-loading .ant-carousel .slick-track {
  visibility: hidden;
}
.ant-carousel .slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.ant-carousel .slick-slide img {
  display: block;
}
.ant-carousel .slick-slide.slick-loading img {
  display: none;
}
.ant-carousel .slick-slide.dragging img {
  pointer-events: none;
}
.ant-carousel .slick-initialized .slick-slide {
  display: block;
}
.ant-carousel .slick-loading .slick-slide {
  visibility: hidden;
}
.ant-carousel .slick-vertical .slick-slide {
  display: block;
  height: auto;
}
.ant-carousel .slick-arrow.slick-hidden {
  display: none;
}
.ant-carousel .slick-prev,
.ant-carousel .slick-next {
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  padding: 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
  background: transparent;
  border: 0;
  outline: none;
  cursor: pointer;
}
.ant-carousel .slick-prev:hover,
.ant-carousel .slick-next:hover,
.ant-carousel .slick-prev:focus,
.ant-carousel .slick-next:focus {
  color: transparent;
  background: transparent;
  outline: none;
}
.ant-carousel .slick-prev:hover::before,
.ant-carousel .slick-next:hover::before,
.ant-carousel .slick-prev:focus::before,
.ant-carousel .slick-next:focus::before {
  opacity: 1;
}
.ant-carousel .slick-prev.slick-disabled::before,
.ant-carousel .slick-next.slick-disabled::before {
  opacity: 0.25;
}
.ant-carousel .slick-prev {
  left: -25px;
}
.ant-carousel .slick-prev::before {
  content: '←';
}
.ant-carousel .slick-next {
  right: -25px;
}
.ant-carousel .slick-next::before {
  content: '→';
}
.ant-carousel .slick-dots {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex !important;
  justify-content: center;
  margin-right: 15%;
  margin-left: 15%;
  padding-left: 0;
  list-style: none;
}
.ant-carousel .slick-dots-bottom {
  bottom: 12px;
}
.ant-carousel .slick-dots-top {
  top: 12px;
}
.ant-carousel .slick-dots li {
  position: relative;
  display: inline-block;
  flex: 0 1 auto;
  box-sizing: content-box;
  width: 16px;
  height: 3px;
  margin: 0 2px;
  margin-right: 3px;
  margin-left: 3px;
  padding: 0;
  text-align: center;
  text-indent: -999px;
  vertical-align: top;
  transition: all 0.5s;
}
.ant-carousel .slick-dots li button {
  display: block;
  width: 100%;
  height: 3px;
  padding: 0;
  color: transparent;
  font-size: 0;
  background: #141414;
  border: 0;
  border-radius: 1px;
  outline: none;
  cursor: pointer;
  opacity: 0.3;
  transition: all 0.5s;
}
.ant-carousel .slick-dots li button:hover,
.ant-carousel .slick-dots li button:focus {
  opacity: 0.75;
}
.ant-carousel .slick-dots li.slick-active {
  width: 24px;
}
.ant-carousel .slick-dots li.slick-active button {
  background: #141414;
  opacity: 1;
}
.ant-carousel .slick-dots li.slick-active:hover,
.ant-carousel .slick-dots li.slick-active:focus {
  opacity: 1;
}
.ant-carousel-vertical .slick-dots {
  top: 50%;
  bottom: auto;
  flex-direction: column;
  width: 3px;
  height: auto;
  margin: 0;
  transform: translateY(-50%);
}
.ant-carousel-vertical .slick-dots-left {
  right: auto;
  left: 12px;
}
.ant-carousel-vertical .slick-dots-right {
  right: 12px;
  left: auto;
}
.ant-carousel-vertical .slick-dots li {
  width: 3px;
  height: 16px;
  margin: 4px 2px;
  vertical-align: baseline;
}
.ant-carousel-vertical .slick-dots li button {
  width: 3px;
  height: 16px;
}
.ant-carousel-vertical .slick-dots li.slick-active {
  width: 3px;
  height: 24px;
}
.ant-carousel-vertical .slick-dots li.slick-active button {
  width: 3px;
  height: 24px;
}
.ant-carousel-rtl {
  direction: rtl;
}
.ant-carousel-rtl .ant-carousel .slick-track {
  right: 0;
  left: auto;
}
.ant-carousel-rtl .ant-carousel .slick-prev {
  right: -25px;
  left: auto;
}
.ant-carousel-rtl .ant-carousel .slick-prev::before {
  content: '→';
}
.ant-carousel-rtl .ant-carousel .slick-next {
  right: auto;
  left: -25px;
}
.ant-carousel-rtl .ant-carousel .slick-next::before {
  content: '←';
}
.ant-carousel-rtl.ant-carousel .slick-dots {
  flex-direction: row-reverse;
}
.ant-carousel-rtl.ant-carousel-vertical .slick-dots {
  flex-direction: column;
}
nz-carousel {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.slick-dots {
  display: block;
}
.slick-track {
  opacity: 1;
}
.slick-list {
  direction: ltr;
}
.ant-popover {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1030;
  font-weight: normal;
  white-space: normal;
  text-align: left;
  cursor: auto;
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
}
.ant-popover::after {
  position: absolute;
  background: rgba(255, 255, 255, 0.01);
  content: '';
}
.ant-popover-hidden {
  display: none;
}
.ant-popover-placement-top,
.ant-popover-placement-topLeft,
.ant-popover-placement-topRight {
  padding-bottom: 10px;
}
.ant-popover-placement-right,
.ant-popover-placement-rightTop,
.ant-popover-placement-rightBottom {
  padding-left: 10px;
}
.ant-popover-placement-bottom,
.ant-popover-placement-bottomLeft,
.ant-popover-placement-bottomRight {
  padding-top: 10px;
}
.ant-popover-placement-left,
.ant-popover-placement-leftTop,
.ant-popover-placement-leftBottom {
  padding-right: 10px;
}
.ant-popover-inner {
  background-color: #1f1f1f;
  background-clip: padding-box;
  border-radius: 2px;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.45) \9;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ant-popover {
    /* IE10+ */
  }
  .ant-popover-inner {
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
  }
}
.ant-popover-title {
  min-width: 177px;
  min-height: 32px;
  margin: 0;
  padding: 5px 16px 4px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  border-bottom: 1px solid #303030;
}
.ant-popover-inner-content {
  padding: 12px 16px;
  color: var(--uni-contrast-500);
}
.ant-popover-message {
  position: relative;
  padding: 4px 0 12px;
  color: var(--uni-contrast-500);
  font-size: 14px;
}
.ant-popover-message > .anticon {
  position: absolute;
  top: 8.0005px;
  color: #d89614;
  font-size: 14px;
}
.ant-popover-message-title {
  padding-left: 22px;
}
.ant-popover-buttons {
  margin-bottom: 4px;
  text-align: right;
}
.ant-popover-buttons button {
  margin-left: 8px;
}
.ant-popover-arrow {
  position: absolute;
  display: block;
  width: 8.48528137px;
  height: 8.48528137px;
  background: transparent;
  border-style: solid;
  border-width: 4.24264069px;
  transform: rotate(45deg);
}
.ant-popover-placement-top > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-topLeft > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-topRight > .ant-popover-content > .ant-popover-arrow {
  bottom: 6.2px;
  border-top-color: transparent;
  border-right-color: #1f1f1f;
  border-bottom-color: #1f1f1f;
  border-left-color: transparent;
  box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);
}
.ant-popover-placement-top > .ant-popover-content > .ant-popover-arrow {
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.ant-popover-placement-topLeft > .ant-popover-content > .ant-popover-arrow {
  left: 16px;
}
.ant-popover-placement-topRight > .ant-popover-content > .ant-popover-arrow {
  right: 16px;
}
.ant-popover-placement-right > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow {
  left: 6px;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: #1f1f1f;
  border-left-color: #1f1f1f;
  box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);
}
.ant-popover-placement-right > .ant-popover-content > .ant-popover-arrow {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow {
  top: 12px;
}
.ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow {
  bottom: 12px;
}
.ant-popover-placement-bottom > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-bottomRight > .ant-popover-content > .ant-popover-arrow {
  top: 6px;
  border-top-color: #1f1f1f;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: #1f1f1f;
  box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06);
}
.ant-popover-placement-bottom > .ant-popover-content > .ant-popover-arrow {
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow {
  left: 16px;
}
.ant-popover-placement-bottomRight > .ant-popover-content > .ant-popover-arrow {
  right: 16px;
}
.ant-popover-placement-left > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-leftTop > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-leftBottom > .ant-popover-content > .ant-popover-arrow {
  right: 6px;
  border-top-color: #1f1f1f;
  border-right-color: #1f1f1f;
  border-bottom-color: transparent;
  border-left-color: transparent;
  box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);
}
.ant-popover-placement-left > .ant-popover-content > .ant-popover-arrow {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.ant-popover-placement-leftTop > .ant-popover-content > .ant-popover-arrow {
  top: 12px;
}
.ant-popover-placement-leftBottom > .ant-popover-content > .ant-popover-arrow {
  bottom: 12px;
}
.ant-popover-rtl {
  direction: rtl;
  text-align: right;
}
.ant-popover-rtl .ant-popover-message-title {
  padding-right: 22px;
  padding-left: 16px;
}
.ant-popover-rtl .ant-popover-buttons {
  text-align: left;
}
.ant-popover-rtl .ant-popover-buttons button {
  margin-right: 8px;
  margin-left: 0;
}
.ant-popover {
  position: relative;
}
/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */
/* stylelint-disable no-duplicate-selectors */
/* stylelint-disable */
/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */
.uni--blockquote {
  border-left: 5px solid var(--uni-red-100);
}
.uni--buttonold {
  width: 100%;
  --background: var(--uni-color-blue-dark);
  color: white;
}
.uni--buttonold__outline {
  margin-top: 2rem;
  border: var(--uni-color-blue-dark);
  --background: white;
  color: var(--uni-color-blue-dark);
  border: 1px solid var(--uni-color-blue-dark);
  border-radius: 4px;
}
.uni-link-button {
  outline: none;
  border: none;
  background: none;
  min-height: 3rem;
  height: 3rem;
  border-radius: 1.5rem;
  color: #acb5bd;
  opacity: 0.65;
  padding-left: 3rem;
  padding-right: 3rem;
}
.uni-link-button:hover,
.uni-link-button:focus,
.uni-link-button:active {
  color: white;
}
.uni--button {
  outline: none;
  border: none;
  min-height: 3rem;
  height: 3rem;
  border-radius: 37px;
  background-color: var(--uni-red-100);
  padding-left: 3rem;
  padding-right: 3rem;
}
.uni--button:hover {
  box-shadow: 0 3px 6px #0000003b;
}
.uni--button:focus,
.uni--button:active {
  background-color: var(--uni-primary-800);
}
.uni--button__free-courses {
  background-color: var(--uni-free-course-primary);
  border: 1px solid var(--uni-free-course-dark);
}
.uni--button__free-courses:hover,
.uni--button__free-courses:focus,
.uni--button__free-courses:active {
  background-color: var(--uni-free-course-secondary);
}
.uni--button__small {
  min-height: 2rem;
  height: 2rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: white !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}
.uni--new-button {
  transition: ease-in 0.3s;
  min-height: 3rem;
  height: 3rem;
  border-radius: 37px;
  border: none;
  background-color: transparent;
  text-transform: uppercase;
  color: var(--uni-red-200);
  font-weight: bold;
  padding-left: 3rem;
  padding-right: 3rem;
}
.uni--new-button:hover,
.uni--new-button:focus,
.uni--new-button:active {
  background-color: var(--uni-primary-400);
  background: var(--uni-primary-400);
}
.uni--new-button__free-courses {
  background-color: var(--uni-free-course-primary);
  border: none;
}
.uni--new-button__free-courses:hover,
.uni--new-button__free-courses:focus,
.uni--new-button__free-courses:active {
  background-color: var(--uni-free-course-secondary);
}
.uni--new-button__small {
  min-height: 2rem;
  height: 2rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.uni--new-button-news:hover,
.uni--new-button-news:active,
.uni--new-button-news:focus {
  color: var(--uni-red-200) !important;
  background-color: var(--uni-black-400) !important;
  box-shadow: none !important;
}
button {
  cursor: pointer !important;
}
.uni--primary-button {
  transition: ease-in 0.3s;
  color: var(--uni-grey-100);
  background-color: var(--uni-primary-400);
  border-radius: 25px;
  border: none;
  text-align: center;
  font-size: 0.9rem;
  min-width: 12rem;
  width: 12rem;
  min-height: 2.5rem;
  height: 3rem;
}
.uni--primary-button:hover,
.uni--primary-button:focus,
.uni--primary-button:active {
  background-color: var(--uni-primary-400);
  background: var(--uni-primary-400);
}
.uni--primary-button:hover {
  box-shadow: 0 0 10px 1px rgba(255, 2, 2, 0.644);
}
.uni--primary-button:active {
  box-shadow: none;
  background-color: var(--uni-red-400);
  transition: none;
}
.uni--primary-button:disabled {
  background-color: var(--uni-grey-400);
  color: var(--uni-grey-300);
}
.uni--primary-button:disabled:hover {
  box-shadow: none;
}
.uni--secondary-button {
  transition: ease-in 0.3s;
  color: var(--uni-primary-400);
  background-color: transparent;
  border-radius: 25px;
  border: 2px solid var(--uni-primary-400);
  margin: 10px;
  text-align: center;
  font-size: 0.9rem;
  min-width: 8rem;
  width: 9rem;
  min-height: 2.7rem;
  height: 3rem;
}
.uni--secondary-button:hover {
  color: var(--uni-grey-100);
  background: var(--uni-primary-400);
}
.uni--secondary-button:focus,
.uni--secondary-button:active {
  box-shadow: none;
  background-color: var(--uni-primary-300);
  color: var(--uni-grey-100);
  transition: none;
  border: 0;
}
.uni--secondary-button:disabled {
  border: 1px solid var(--uni-grey-400);
  color: var(--uni-grey-100);
}
.uni--secondary-button:disabled:hover {
  box-shadow: none;
}
.ant-carousel .slick-dots li {
  background: #fff;
}
.ant-carousel .slick-dots li.slick-active button {
  background: var(--uni-red-100);
}
.uni--input {
  background-color: var(--uni-light-400);
  min-height: 3.5rem;
  height: 3.5rem;
  position: relative;
  padding: 1rem 1.5rem;
  border-radius: 37px;
  box-shadow: 0px 3px 6px #00000029;
  border: none;
  transition: none !important;
}
.uni--input .ant-input-affix-wrapper,
.uni--input .ant-input {
  transition: none !important;
}
.uni--input input {
  font-family: 'Segoe UI';
  font-size: 1rem;
  padding: 0;
  border: none;
}
.uni--input input::-moz-placeholder {
  -webkit-text-fill-color: var(--uni-contrast-300) !important;
  color: var(--uni-contrast-300) !important;
  background-color: var(--uni-light-400) !important;
  -webkit-box-shadow: 0 0 0 30px var(--uni-light-400) inset !important;
}
.uni--input input::placeholder {
  -webkit-text-fill-color: var(--uni-contrast-300) !important;
  color: var(--uni-contrast-300) !important;
  background-color: var(--uni-light-400) !important;
  -webkit-box-shadow: 0 0 0 30px var(--uni-light-400) inset !important;
}
.uni--input input,
.uni--input input:-internal-autofill-selected,
.uni--input input:-webkit-autofill,
.uni--input input:-webkit-autofill:hover,
.uni--input input:-webkit-autofill:focus,
.uni--input input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--uni-contrast-500) !important;
  color: var(--uni-contrast-500) !important;
  background-color: var(--uni-light-400) !important;
  -webkit-box-shadow: 0 0 0 30px var(--uni-light-400) inset !important;
}
.uni--input input[type="text"]:hover,
.uni--input input[type="text"]:focus {
  outline: none !important;
}
.uni--input input:-moz-read-only {
  opacity: 0.6;
}
.uni--input input:disabled,
.uni--input input:read-only {
  opacity: 0.6;
}
.uni--input nz-spin {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}
.uni--input .ant-input-prefix {
  margin-right: 0.5rem;
}
.uni--input .ant-input-group-addon {
  background-color: transparent;
  border: none;
}
.uni--input .ant-input-group-addon > * {
  margin-right: -2.2rem;
  margin-top: -1rem;
}
.uni--new-input {
  background-color: transparent;
  margin-bottom: 20px;
  min-height: 3.5rem;
  height: 3.5rem;
  position: relative;
  padding: 1rem 1.5rem;
  border-radius: 37px;
  box-shadow: 0px 3px 6px #00000029;
  border: 1px solid var(--uni-grey-100);
  transition: none !important;
}
.uni--new-input .ant-input-affix-wrapper,
.uni--new-input .ant-input {
  transition: none !important;
}
.uni--new-input input {
  font-size: 1rem;
  background-color: transparent;
  padding: 0;
  border: none;
}
.uni--new-input input::-moz-placeholder {
  -webkit-text-fill-color: var(--uni-contrast-300) !important;
  color: var(--uni-grey-100) !important;
  background-color: transparent !important;
}
.uni--new-input input::placeholder {
  -webkit-text-fill-color: var(--uni-contrast-300) !important;
  color: var(--uni-grey-100) !important;
  background-color: transparent !important;
}
.uni--new-input input,
.uni--new-input input:-internal-autofill-selected,
.uni--new-input input:-webkit-autofill,
.uni--new-input input:-webkit-autofill:hover,
.uni--new-input input:-webkit-autofill:focus,
.uni--new-input input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--uni-contrast-500) !important;
  color: var(--uni-grey-300) !important;
  background-color: transparent !important;
}
.uni--new-input input[type="text"]:hover,
.uni--new-input input[type="text"]:focus {
  outline: none !important;
}
.uni--new-input input:-moz-read-only {
  opacity: 0.6;
}
.uni--new-input input:disabled,
.uni--new-input input:read-only {
  opacity: 0.6;
}
.uni--new-input nz-spin {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}
.uni--new-input .ant-input-prefix {
  margin-right: 0.5rem;
}
.uni--new-input .ant-input-group-addon {
  background-color: transparent;
  border: none;
}
.uni--new-input .ant-input-group-addon > * {
  margin-right: -2.2rem;
  margin-top: -1rem;
}
.uni--box-label-float {
  position: relative;
  padding-top: 13px;
  width: var(--uni-input-width, 330px);
  display: flex;
  align-items: flex-end;
}
.uni--box-label-float .uni--input-text,
.uni--box-label-float .login--input-password {
  width: var(--uni-input-width, 330px);
  border: 0;
  border-bottom: 1px solid var(--uni-grey-300);
  background-color: transparent;
  outline: none;
  font-size: 15px;
  padding-left: 1rem;
  margin-top: 20px;
  transition: all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  min-height: 2.5rem;
  height: 2.5rem;
}
.uni--box-label-float .uni--input-text:-webkit-autofill,
.uni--box-label-float .login--input-password:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 50px transparent inset;
  -webkit-text-fill-color: var(--uni-grey-300);
  /* Cor do texto */
}
.uni--box-label-float .uni--input-text:focus,
.uni--box-label-float .login--input-password:focus {
  border-bottom: 1px solid var(--uni-primary-400) !important;
}
.uni--box-label-float .uni--input-text::-moz-placeholder, .uni--box-label-float .login--input-password::-moz-placeholder {
  color: transparent;
}
.uni--box-label-float .uni--input-text::placeholder,
.uni--box-label-float .login--input-password::placeholder {
  color: transparent;
}
.uni--box-label-float .uni--label {
  position: absolute;
  top: 20px;
  left: 10px;
  margin-top: 20px;
  font-weight: lighter;
  font-size: 15px;
  transition: all 0.1s ease-out;
  -webkit-transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
}
.uni--box-label-float .uni--input-text:required:invalid + .uni--label {
  color: var(--uni-grey-300);
}
.uni--box-label-float .uni--input-text:focus:required:invalid {
  border-bottom: 1px solid var(--uni-grey-300);
}
.uni--box-label-float .uni--input-text:required:invalid + .uni--label {
  content: "*";
}
.uni--box-label-float .uni--input-text:-webkit-autofill + .uni--label,
.uni--box-label-float .uni--input-text:focus + .uni--label,
.uni--box-label-float .uni--input-text:not(:placeholder-shown) + .uni--label {
  font-size: 12px;
  margin-top: 0;
  color: var(--uni-grey-300);
}
.password-input {
  padding-right: 2.8rem;
}
.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner {
  background: var(--uni-primary-400);
}
.ant-picker-today-btn {
  color: var(--uni-primary-800);
}
.ant-picker-today-btn:hover {
  color: var(--uni-primary-400);
}
.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before {
  border-color: var(--uni-primary-400);
}
.ant-picker {
  box-shadow: none;
}
label[nz-checkbox] {
  color: var(--uni-contrast-500);
  font-weight: normal;
}
label[nz-checkbox] span,
label[nz-checkbox] .ant-checkbox-checked::after {
  border-radius: 4px;
}
.uni--checkbox-container {
  width: 330px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 40px;
}
.uni--checkbox-container .uni--checkbox-label {
  display: block;
  align-items: center;
  position: relative;
  padding-left: 25px;
  font-size: 14px;
  font-weight: lighter;
  color: var(--uni-grey-100);
}
.uni--checkbox-container .uni--checkbox-label .uni--checkbox {
  position: absolute;
  opacity: 0;
  height: 0;
  width: 0;
}
.uni--checkbox-container .uni--checkbox-label .uni--checkbox:checked ~ .checkmark {
  background-color: var(--uni-red-200);
  border: none;
  opacity: 1;
  -webkit-animation: fadeOpacity 1s ease-in-out;
  animation: fadeOpacity 1s ease-in-out;
}
.uni--checkbox-container .uni--checkbox-label .uni--checkbox:disabled ~ .checkmark {
  background-color: var(--uni-grey-200);
  border: none;
}
.uni--checkbox-container .uni--checkbox-label .uni--checkbox:checked ~ .checkmark::after {
  display: block;
}
.uni--checkbox-container .uni--checkbox-label .checkmark::after {
  content: "";
  left: 6px;
  top: 0;
  width: 8px;
  height: 17px;
  transform: rotate(45deg);
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
}
.uni--checkbox-container .uni--checkbox-label .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: transparent;
  border: 1px solid var(--uni-grey-100);
  border-radius: 2px;
}
.uni--checkbox-container .uni--checkbox-label .checkmark::after {
  display: none;
  content: "";
  position: absolute;
}
@-webkit-keyframes fadeOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.uni--primary-500 {
  color: var(--uni-red-100);
}
.uni--fieldset {
  padding-bottom: 0.5rem;
}
.uni--fieldset legend {
  border-color: var(--uni-red-100);
}
.uni--fieldset ul {
  padding-left: 0;
  list-style: none;
}
.uni--fieldset li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.uni--fieldset .subscription-period {
  font-size: 0.85rem;
}
.uni--fieldset p,
.uni--fieldset label {
  font-weight: normal;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.uni--fieldset p {
  margin-left: 0.25rem;
}
.uni--fieldset label {
  margin-right: 0.25rem;
}
.uni--fieldset h4 {
  margin: 0;
}
.uni--form--item {
  width: 100%;
  margin-bottom: 1.5rem;
}
.uni--form--item small {
  display: inline-block;
  margin-top: 1rem;
  text-align: center;
}
.uni--form--item nz-select {
  width: 100%;
}
.uni--form .uni--input input.ng-touched.ng-invalid {
  -webkit-text-fill-color: red !important;
  color: red !important;
}
.uni--profile--header {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.uni--profile--header h2 {
  font-size: 1.2rem;
  line-height: 1.8rem;
  font-family: "Segoe UI";
  margin-bottom: 0;
}
.uni--profile--header h2 span {
  font-weight: bold;
  font-family: "Segoe UI";
  font-size: 1.5rem;
}
.uni--profile--header hr {
  flex: 1;
  border-radius: 8px;
  height: 0.25rem;
  margin-left: 1.5rem;
  border: none;
  background-color: var(--uni-red-100);
}
.uni--profile--header a {
  border-radius: 50%;
  background-color: var(--uni-light-100);
  min-height: 2rem;
  height: 2rem;
  min-width: 2rem;
  width: 2rem;
  margin-left: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.uni--profile--header a.uni--header--a__invert-margin {
  margin-left: 0;
  margin-right: 1.5rem;
}
.uni--profile--header a i {
  font-size: 1.25rem;
}
.uni--hr {
  width: 100%;
  height: 1px;
  background-color: var(--uni-red-100);
  margin: 0.75rem 0;
  border: none;
}
.fix-inner-html iframe {
  max-width: 100%;
}
.fix-inner-html p,
.fix-inner-html span,
.fix-inner-html label,
.fix-inner-html h1,
.fix-inner-html h2,
.fix-inner-html h3,
.fix-inner-html h4,
.fix-inner-html h4,
.fix-inner-html h5,
.fix-inner-html h6 {
  color: var(--uni-contrast-500) !important;
  background: none !important;
  word-break: break-word;
}
.fix-inner-html a {
  color: var(--uni-primary-400) !important;
  background: none !important;
  word-break: break-word;
}
a[href] {
  color: var(--uni-red-100);
}
a[href]:visited {
  color: var(--uni-contrast-500);
  font-weight: bold;
  text-decoration: underline;
}
.uni--modal--no-content .ant-modal-content {
  background-color: transparent;
  box-shadow: none;
}
.uni--modal--default .ant-modal-content {
  border-radius: 20px;
  padding: 1.5rem;
}
.create-note-modal .ant-modal-content {
  background-color: var(--uni-black-500);
  border-radius: 16px;
  padding: 23px 37px;
}
.create-note-modal .ant-modal-close-x {
  font-weight: 900;
  color: var(--uni-red-100);
}
.uni--modal--default .ant-modal-content {
  background: radial-gradient(at top, #212429 10%, #101010 50%);
}
.uni--nav {
  padding-right: 1.5rem;
  padding-bottom: 2rem;
  font-family: "Open Sans", sans-serif;
}
.uni--nav ul {
  display: flex;
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.uni--nav li {
  padding-right: 2rem;
}
.uni--nav a {
  font-size: 1rem;
  color: var(--uni-grey-300);
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: transparent;
}
.uni--nav__selected {
  color: var(--uni-contrast-500) !important;
}
.background--domestika {
  background-color: #F02D00 !important;
}
.progress-bar {
  position: absolute;
  height: 100%;
  width: 33%;
  background: linear-gradient(0deg, var(--uni-color-orange) 0%, var(--uni-color-orange-dark) 100%);
  border-radius: 10px;
  left: 0;
  z-index: 3;
}
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
  scrollbar-height: none;
}
.hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
  background: transparent;
}
.uni--scrollbar {
  --thumb-color: var(--scrollbar-thumb-color, var(--uni-red-100));
  --thumb-background: var(--scrollbar-thumb-background, var(--uni-light-200));
}
.uni--scrollbar::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 4px var(--thumb-background);
  border-radius: 0.6rem;
  background-color: var(--thumb-background);
}
.uni--scrollbar::-webkit-scrollbar {
  width: 0.4rem;
  border-radius: 0.6rem;
  background-color: var(--thumb-background);
}
.uni--scrollbar::-webkit-scrollbar-thumb {
  border-radius: 0.4rem;
  -webkit-box-shadow: inset 0 0 4px var(--thumb-color);
  background-color: var(--thumb-color);
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--uni-red-200) var(--uni-light-800);
}
/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 3px;
  height: 5px;
}
*::-webkit-scrollbar-track {
  background: var(--uni-light-800);
}
*::-webkit-scrollbar-thumb {
  background-color: var(--uni-primary-800);
  border-radius: 20px;
}
.uni--select {
  background-color: transparent;
  color: var(--uni-contrast-500);
  border-radius: 2rem;
  border: 1px solid var(--uni-contrast-500);
  min-height: 3.5rem;
  height: 3.5rem;
  position: relative;
  padding: 1rem 1.5rem;
  box-shadow: 0 3px 6px #00000029;
  font-size: 1rem;
}
.uni--select nz-select-placeholder {
  color: var(--uni-grey-300);
}
.uni--select nz-select-top-control {
  border: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
  padding-left: 0 !important;
}
.uni--select nz-select-search {
  left: 0 !important;
}
.uni--select nz-select-item,
.uni--select nz-select-placeholder {
  line-height: 1.5rem !important;
}
.uni--select nz-select-arrow {
  right: 24px;
  color: var(--uni-contrast-500);
  font-size: 1rem;
  vertical-align: 0;
  top: calc(50% - 0.5rem);
  height: 1rem;
  width: 1rem;
  margin-top: 0;
}
.uni--new-select {
  position: relative;
  width: 250px;
  margin-right: 1rem;
  margin-top: 30px;
  font-size: 0.9rem;
}
.uni--new-select[open] {
  z-index: 1;
}
.uni--new-select summary {
  padding: 1rem;
  cursor: pointer;
  border-radius: 5px;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--uni-black-400);
  color: var(--uni-grey-200);
  min-height: 2.5rem;
  height: 2.5rem;
  border-radius: 37px;
  border: 1px solid var(--uni-grey-100);
}
.uni--new-select summary::-webkit-details-marker {
  display: none;
}
.uni--new-select[open] summary:before {
  content: "";
  display: block;
  width: 100vw;
  height: 100vh;
  background: transparent;
  position: fixed;
  top: 0;
  left: 0;
}
.uni--new-select summary:after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  border-bottom-left-radius: 2px;
  transform-origin: center center;
  transition: transform ease-in-out 100ms;
  transform: rotate(-45deg) translate(0%, 0%);
}
.uni--new-select summary:focus {
  outline: none;
}
.uni--new-select[open] summary:after {
  transform: rotate(135deg) translate(50%, 0%);
  color: var(--uni-red-200);
}
.uni--new-select ul {
  width: 100%;
  background: var(--uni-black-100);
  color: var(--uni-grey-300);
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  margin: 0;
  box-sizing: border-box;
  border-radius: 10px;
  max-height: 200px;
  overflow-y: auto;
  list-style: none;
  padding: 0;
  z-index: 2;
}
.uni--new-select li {
  margin: 0;
  height: 3rem;
  padding: 10px 20px;
}
.uni--new-select li:hover {
  background-color: var(--uni-grey-400);
  color: var(--uni-grey-100);
}
.uni--new-select li:active {
  background-color: var(--uni-red-200);
  color: var(--uni-grey-100);
}
.nowrap {
  max-width: 100%;
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ngx-ui-tour_backdrop {
  pointer-events: none;
}
.switch__container {
  margin: 30px auto;
}
.switch__container .switch {
  visibility: hidden;
  position: absolute;
  margin-left: -9999px;
}
.switch__container .switch + label {
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.switch__container .switch--shadow:checked + label:before {
  color: var(--uni-grey-100);
}
.switch__container .switch--shadow:checked + label:after {
  transform: translateX(60px);
}
.switch__container .switch--shadow + label {
  padding: 2px;
  width: 120px;
  height: 60px;
  background-color: #dddddd;
  border-radius: 60px;
}
.switch__container .switch--shadow + label:before,
.switch__container .switch--shadow + label :after {
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 1px;
  content: "";
}
.switch__container .switch--shadow + label:before {
  right: 1px;
  border-radius: 60px;
  transition: background 0.4s;
}
.switch__container .switch--shadow + label:after {
  width: 62px;
  background-color: #fff;
  border-radius: 100%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: all 0.4s;
}
.switch--flat + label {
  padding: 2px;
  width: 200px;
  height: 50px;
  border-radius: 60px;
  transition: background 0.4s;
  font-weight: lighter;
}
.switch--flat + label:before,
.switch--flat + label:after {
  display: block;
  position: absolute;
  content: "";
}
.switch--flat + label:before {
  top: 2px;
  left: 2px;
  bottom: 2px;
  right: 2px;
  background-color: var(--uni-black-400);
  border-radius: 60px;
  transition: background 0.4s;
  display: flex;
  justify-content: space-between;
}
.switch--flat + label:after {
  top: 4px;
  left: 4px;
  bottom: 4px;
  width: 100px;
  background-color: var(--uni-red-200);
  border-radius: 52px;
  transition: margin 0.4s, background 0.4s;
  content: "Entrar";
  color: var(--uni-grey-100);
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.switch--flat:checked + label:after {
  margin-left: 92px;
  background-color: var(--uni-red-200);
  content: "Registrar";
  color: var(--uni-grey-100);
  display: flex;
  align-items: center;
  justify-content: center;
}
.switch__container label .can-toggle__switch:before {
  left: 100px;
  top: 6px;
  font-size: 12px;
  line-height: 36px;
  width: 100px;
  padding: 0 12px;
}
.switch__container label .can-toggle__switch:after {
  top: 2px;
  left: 2px;
  border-radius: 2px;
  width: 65px;
  line-height: 32px;
  font-size: 14px;
}
.switch__container label .can-toggle__switch:before {
  content: attr(data-checked);
  position: absolute;
  top: 7px;
  text-align: center;
  font-size: 14px;
}
.switch__container label .can-toggle__switch:after {
  content: attr(data-unchecked);
  position: absolute;
  top: 10px;
  left: 20px;
  text-align: center;
  transform: translate3d(0, 0, 0);
}
.tooltip {
  position: relative;
  display: inline-block;
  border-radius: 50%;
  cursor: pointer;
  opacity: 100;
  margin-top: 80px;
}
.tooltip svg {
  width: 20px;
  fill: var(--uni-grey-100);
  margin-left: 50px;
}
.tooltip svg:hover {
  fill: var(--uni-red-200);
}
.tooltip .tooltiptext {
  visibility: hidden;
  background-color: var(--uni-black-100);
  color: var(--uni-grey-100);
  text-align: left;
  padding: 20px;
  border-radius: 6px;
  min-width: 110px;
  position: absolute;
  z-index: 1;
  bottom: 200%;
  left: 0%;
  opacity: 0;
  transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 10px;
  border-style: solid;
  border-color: var(--uni-black-100) transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}
.tag {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #212429;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7rem;
  border-radius: 10px;
  padding: 0.5rem 1rem;
  height: 2.5rem;
  box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.2);
  margin: 1rem 0;
}
@media (max-width: 900px) {
  .tag {
    margin: 0.2rem 0;
  }
}
.tag--bullet {
  display: block;
  background: #de4242;
  border-radius: 100%;
  margin: 0 1rem 0 0;
  height: 0.5rem;
  width: 0.5rem;
}
.tag--live {
  background: #de4242;
}
.tag--online {
  background: #027BC5;
}
.tag--presential {
  background: #0D0D0D;
}
.tag--title {
  padding: 0;
  margin: 0;
  font-size: small;
}
.tag--title--time {
  padding: 0 1rem;
  margin: 0;
}
.tag--star {
  font-size: small;
}
.ant-rate-star-full path:first-child {
  fill: var(--uni-yellow-100) !important;
}
.ant-rate-star-full path:last-child {
  fill: var(--uni-yellow-100) !important;
}
.ant-rate-star-first path:first-child {
  fill: var(--uni-yellow-100) !important;
}
.ant-rate-star-half path:last-child {
  fill: var(--uni-yellow-100) !important;
}
.ant-rate-star-zero path:first-child {
  display: none !important;
}
.ant-rate-star-zero path:nth-child(2) {
  fill: white !important;
}
.category-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #F15754 0%, #B7302E 100%) 0% 0% no-repeat padding-box;
}
.category-icon-white {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, var(--uni-grey-200) 0%, var(--uni-grey-300) 100%) 0% 0% no-repeat padding-box;
}
.category-icon-white img {
  filter: invert(50%) brightness(80%);
}
.category-icon-blue {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(216deg, #01A9F0 0%, #0357A5 100%) 0% 0% no-repeat padding-box;
}
.category-icon-green {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #44C18A 0%, #1C704C 100%) 0% 0% no-repeat padding-box;
}
.category-icon-yellow {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #F9C057 0%, #DB9537 100%) 0% 0% no-repeat padding-box;
}
.category-icon-red {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #F15754 0%, #B7302E 100%) 0% 0% no-repeat padding-box;
}
.category-icon-purple {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #BC00F4 0%, #8400AB 100%) 0% 0% no-repeat padding-box;
}
.dropdown {
  position: relative;
  display: inline-block;
  background-color: var(--uni-black-100);
  top: 0;
}
.dropdown button {
  background-color: transparent;
  border: none;
  width: 75px;
  height: 60px;
  padding-top: 5px;
}
.dropdown button .icon--notifications {
  width: 20px;
}
.dropdown button .icon--arrow {
  width: 10px;
}
.dropdown button .user--avatar {
  width: 35px;
  margin-right: 10px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .dropdown button .user--avatar {
    margin-bottom: 12px;
  }
}
@media (max-width: 426px) {
  .dropdown button {
    width: 50px;
    margin-left: 10px;
  }
}
.dropdown--notifications {
  border-bottom-left-radius: 20px;
}
.dropdown--notifications button {
  width: 60px;
}
.dropdown--profile {
  border-bottom-right-radius: 20px;
  border-left: 0.5px solid var(--uni-grey-400);
}
.dropdown--icons {
  width: 20px;
  margin-right: 20px;
}
.dropdown-content {
  border-radius: 20px;
  position: absolute;
  right: 0;
  top: 62px;
  background-color: var(--uni-black-100);
  min-width: 200px;
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
  z-index: 1;
  -webkit-animation: fadeIn 0.3s linear;
          animation: fadeIn 0.3s linear;
}
.dropdown-content a,
.dropdown-content a img {
  opacity: 1 !important;
}
.dropdown-content-notifications {
  padding: 20px;
  min-width: 500px;
  background: #15161a;
  background: linear-gradient(90deg, #15161a 0%, #212429 50%, #15161a 100%);
}
.dropdown-content-notifications--header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.dropdown-content-notifications--header span {
  font-size: 14px;
}
.dropdown-content-notifications--footer {
  width: 100%;
  text-align: center;
  opacity: 75%;
}
.dropdown-content-notifications--footer span {
  font-size: 14px;
}
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  opacity: 80%;
  transition: background 0.3s;
  transition-timing-function: linear;
}
.dropdown-content a img {
  opacity: 50%;
}
.dropdown-content a:last-child {
  border-top: 1px solid var(--uni-grey-400);
}
.dropdown-content a:first-child {
  border-radius: 20px 20px 0 0;
}
.dropdown-content a:last-child {
  border-radius: 0 0 20px 20px;
}
.dropdown-content a:hover {
  background-color: var(--uni-grey-400);
  opacity: 90%;
}
.dropdown-content a:hover img {
  opacity: 90%;
}
.dropdown-content a:hover:first-child {
  border-radius: 20px 20px 0 0;
}
.dropdown-content a:hover:last-child {
  border-radius: 0 0 20px 20px;
}
.dropdown:hover .dropbtn {
  background-color: #3e8e41;
}
.uni-notification {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  margin-bottom: 8px;
  border-radius: 8px;
}
.uni-notification--content {
  display: flex;
  align-items: center;
}
.uni-notification--content--icon {
  width: 20px;
  margin-right: 20px;
}
.uni-notification--content--text {
  font-size: 17px;
  font-weight: bold;
}
.uni-notification--content--text span {
  font-size: 15px;
  font-weight: normal;
  color: var(--uni-grey-200) !important;
}
.uni-notification--icon {
  width: 30px;
  opacity: 70%;
  cursor: pointer;
}
.uni-notification-type-notification {
  border: 0.5px solid var(--uni-red-100);
  background: #1d4252;
  background: linear-gradient(90deg, #1d4252 0%, #1f2227 51%, #15161a 100%);
}
.uni-notification-type-notification h3 {
  color: var(--uni-red-200);
}
.uni-notification-type-success {
  border: 0.5px solid var(--uni-green-100);
  background: #1d523a;
  background: linear-gradient(90deg, #1d523a 0%, #1f2227 51%, #15161a 100%);
}
.uni-notification-type-success h3 {
  color: var(--uni-green-200);
}
.uni-notification-type-error {
  border: 0.5px solid var(--uni-red-100);
  background: #521d1c;
  background: linear-gradient(90deg, #521d1c 0%, #1f2227 51%, #15161a 100%);
}
.uni-notification-type-error h3 {
  color: var(--uni-red-200);
}
.uni-notification-type-warning {
  border: 0.5px solid var(--uni-yellow-100);
  background: #513f1d;
  background: linear-gradient(90deg, #513f1d 0%, #1f2227 51%, #15161a 100%);
}
.uni-notification-type-warning h3 {
  color: var(--uni-yellow-200);
}
:root {
  --uni-light-100: #000000;
  --uni-light-150: #91949b;
  --uni-light-200: #485063;
  --uni-light-250: #313c53;
  --uni-light-400: #283248;
  --uni-light-600: #1e273a;
  --uni-light-750: #222937;
  --uni-light-800: #1b1b1b;
  --uni-contrast-300: #c3c3c3;
  --uni-contrast-500: #ffffff;
  --uni-primary-contrast-500: #ffffff;
  --uni-primary-300: #eb3137;
  --uni-primary-400: #cf191f;
  --uni-primary-800: #a31418;
  --uni-primary-900: #5c0a0d;
  --uni-black-500: #101010;
  --uni-black-400: #15161a;
  --uni-black-100: #212429;
  --uni-grey-400: #495057;
  --uni-grey-300: #acb5bd;
  --uni-grey-200: #dde2e5;
  --uni-grey-100: #f8f9fa;
  --uni-blue-400: #0357a5;
  --uni-blue-200: #01a9f0;
  --uni-blue-100: #469ec3;
  --uni-yellow-400: #db7d00;
  --uni-yellow-200: #f9a200;
  --uni-yellow-100: #f9c057;
  --uni-purple-400: #8400ab;
  --uni-purple-200: #bc00f4;
  --uni-green-400: #017040;
  --uni-green-200: #00c16d;
  --uni-green-100: #44c18a80;
  --uni-red-400: #b72a28;
  --uni-red-200: #f15754;
  --uni-red-100: #f1575480;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL2NvcmUvYmFzZS5sZXNzIiwiZGFyay5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3JjL3N0eWxlL2NvbG9yL3RpbnlDb2xvci5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvbWl4aW5zL3NpemUubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL2NvcmUvZ2xvYmFsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9taXhpbnMvY2xlYXJmaXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL21peGlucy9pY29uZm9udC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvY29yZS9pY29uZm9udC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvbWl4aW5zL21vdGlvbi5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvY29yZS9tb3Rpb24vZmFkZS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvY29yZS9tb3Rpb24vbW92ZS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvY29yZS9tb3Rpb24vb3RoZXIubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL2NvcmUvbW90aW9uL3NsaWRlLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9jb3JlL21vdGlvbi96b29tLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9jb3JlL21vdGlvbi5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvcGF0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2J1dHRvbi9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvYnV0dG9uL3N0eWxlL21peGluLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9idXR0b24vc3R5bGUvcnRsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9taXhpbnMvcmVzZXQubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NwaW4vc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NwaW4vc3R5bGUvcnRsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zcGluL3N0eWxlL3BhdGNoLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9hZmZpeC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvaW5wdXQvc3R5bGUvbWl4aW4ubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL21peGlucy9jb21wYXRpYmlsaXR5Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9ydGwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2lucHV0L3N0eWxlL2FsbG93LWNsZWFyLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvaW5wdXQvc3R5bGUvc2VhcmNoLWlucHV0Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9JRTExLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9wYXRjaC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvY2hlY2tib3gvc3R5bGUvbWl4aW4ubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2NoZWNrYm94L3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvY2hlY2tib3gvc3R5bGUvcGF0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL21peGlucy9jdXN0b21pemUubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL25vdGlmaWNhdGlvbi9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvbm90aWZpY2F0aW9uL3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvcmF0ZS9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvcmF0ZS9zdHlsZS9ydGwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3Rvb2x0aXAvc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3Rvb2x0aXAvc3R5bGUvcnRsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC90b29sdGlwL3N0eWxlL3BhdGNoLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zbGlkZXIvc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NsaWRlci9zdHlsZS9ydGwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL21peGlucy9tb2RhbC1tYXNrLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9tb2RhbC9zdHlsZS9tb2RhbC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvbWl4aW5zL2JveC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvbW9kYWwvc3R5bGUvY29uZmlybS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvbW9kYWwvc3R5bGUvcnRsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zZWxlY3Qvc3R5bGUvc2luZ2xlLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zZWxlY3Qvc3R5bGUvbXVsdGlwbGUubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NlbGVjdC9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc2VsZWN0L3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvZW1wdHkvc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2VtcHR5L3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvZW1wdHkvc3R5bGUvcGF0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NlbGVjdC9zdHlsZS9wYXRjaC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvYWxlcnQvc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2FsZXJ0L3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvYWxlcnQvc3R5bGUvcGF0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2Nhcm91c2VsL3N0eWxlL2luZGV4Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9jYXJvdXNlbC9zdHlsZS9ydGwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2Nhcm91c2VsL3N0eWxlL3BhdGNoLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9wb3BvdmVyL3N0eWxlL2luZGV4Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9wb3BvdmVyL3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvcG9wb3Zlci9zdHlsZS9wYXRjaC5sZXNzIiwiY29tcG9uZW50cy9ibG9ja3F1b3RlLmxlc3MiLCJjb21wb25lbnRzL2J1dHRvbnMubGVzcyIsImNvbXBvbmVudHMvbmV3LWJ1dHRvbnMubGVzcyIsImNvbXBvbmVudHMvY2Fyb3VzZWwubGVzcyIsImNvbXBvbmVudHMvaW5wdXQubGVzcyIsImNvbXBvbmVudHMvbmV3LWlucHV0cy5sZXNzIiwiY29tcG9uZW50cy9jaGVja2JveC5sZXNzIiwiY29tcG9uZW50cy9uZXctY2hlY2tib3gubGVzcyIsImNvbXBvbmVudHMvY29sb3JzLmxlc3MiLCJjb21wb25lbnRzL2ZpZWxkc2V0Lmxlc3MiLCJjb21wb25lbnRzL2Zvcm0ubGVzcyIsImNvbXBvbmVudHMvaGVhZGVyLmxlc3MiLCJjb21wb25lbnRzL2hyLmxlc3MiLCJjb21wb25lbnRzL2lubmVyLWh0bWwubGVzcyIsImNvbXBvbmVudHMvbGluay5sZXNzIiwiY29tcG9uZW50cy9tb2RhbC5sZXNzIiwiY29tcG9uZW50cy9uYXYubGVzcyIsImNvbXBvbmVudHMvcHJvZ3Jlc3MubGVzcyIsImNvbXBvbmVudHMvc2Nyb2xsLmxlc3MiLCJjb21wb25lbnRzL3NlbGVjdC5sZXNzIiwiY29tcG9uZW50cy9uZXctc2VsZWN0Lmxlc3MiLCJjb21wb25lbnRzL3RleHQubGVzcyIsImNvbXBvbmVudHMvdG91ci5sZXNzIiwiY29tcG9uZW50cy90b2dnbGUubGVzcyIsImNvbXBvbmVudHMvdG9vbHRpcC5sZXNzIiwiY29tcG9uZW50cy90YWcubGVzcyIsImNvbXBvbmVudHMvY2F0ZWdvcnktaWNvbi5sZXNzIiwiY29tcG9uZW50cy9kcm9wZG93bi5sZXNzIiwiY29tcG9uZW50cy9ub3RpZmljYXRpb24ubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJRTs7Ozs7O0VBR0UsYUFBQTtBQ0FKO0FER0U7Ozs7Ozs7O0VBSUUsc0JBQUE7QUNHSjtBQUNBLHlDQUF5QztBQ2xCeEM7O0VDR0MsV0FBQTtFQUNBLFlBQUE7QUZtQkY7QUdQQTs7RUFFRSxhQUFBO0FIU0Y7QUdJQTs7O0VBR0Usc0JBQUE7QUhGRjtBQ2hDQztFRXNDQyx1QkFBQTtFQUNBLGlCQUFBO0VBQ0EsOEJBQUE7RUFDQSwwQkFBQTtFQUNBLDZCQUFBO0VBQ0EsNkNBQUE7QUhIRjtBR2dCQTtFQUNFLFNBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrTUFBQTtFQUNBLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLDZCQUFBO0FIWEY7QUdtQkE7RUFDRSx3QkFBQTtBSGpCRjtBR3lCQTtFQUNFLHVCQUFBO0VBQ0EsU0FBQTtFQUNBLGlCQUFBO0FIdkJGO0FHa0NBOzs7Ozs7RUFNRSxhQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGdCQUFBO0FIaENGO0FHdUNBO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0FIckNGO0FHK0NBOztFQUdFLDBCQUFBO0VBQ0EseUNBQUE7VUFBQSxpQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtBSDlDRjtBR2lEQTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtBSC9DRjtBR2tEQTs7OztFQUlFLHdCQUFBO0FIaERGO0FHbURBOzs7RUFHRSxhQUFBO0VBQ0Esa0JBQUE7QUhqREY7QUdvREE7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QUNFLDRCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUeWZGO0VTdmZBO0lBQ0UseUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVR5ZkY7QUFDRjtBU3RmQTtFQUNFO0lBQ0UseUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVR3ZkY7RVN0ZkE7SUFDRSw0QkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHdmRjtBQUNGO0FTbGdCQTtFQUNFO0lBQ0UseUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVR3ZkY7RVN0ZkE7SUFDRSw0QkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHdmRjtBQUNGO0FTcmZBO0VBQ0U7SUFDRSwyQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHVmRjtFU3JmQTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUdWZGO0FBQ0Y7QVNqZ0JBO0VBQ0U7SUFDRSwyQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHVmRjtFU3JmQTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUdWZGO0FBQ0Y7QVNwZkE7RUFDRTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUc2ZGO0VTcGZBO0lBQ0UsMkJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVRzZkY7QUFDRjtBU2hnQkE7RUFDRTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUc2ZGO0VTcGZBO0lBQ0UsMkJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVRzZkY7QUFDRjtBU25mQTtFQUNFO0lBQ0UsNEJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVRxZkY7RVNuZkE7SUFDRSx5QkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHFmRjtBQUNGO0FTL2ZBO0VBQ0U7SUFDRSw0QkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHFmRjtFU25mQTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUcWZGO0FBQ0Y7QVNsZkE7RUFDRTtJQUNFLHlCQUFBO0lBQ0Es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Q0Y7RVlyakNBO0lBQ0UscUJBQUE7SUFDQSxVQUFBO0VadWpDRjtBQUNGO0FZcGpDQTtFQUNFO0lBQ0UscUJBQUE7SUFDQSx3QkFBQTtJQUNBLFVBQUE7RVpzakNGO0VZcGpDQTtJQUNFLG1CQUFBO0lBQ0Esd0JBQUE7RVpzakNGO0FBQ0Y7QVkvakNBO0VBQ0U7SUFDRSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsVUFBQTtFWnNqQ0Y7RVlwakNBO0lBQ0UsbUJBQUE7SUFDQSx3QkFBQTtFWnNqQ0Y7QUFDRjtBWW5qQ0E7RUFDRTtJQUNFLG1CQUFBO0lBQ0Esd0JBQUE7RVpxakNGO0VZbmpDQTtJQUNFLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxVQUFBO0VacWpDRjtBQUNGO0FZOWpDQTtFQUNFO0lBQ0UsbUJBQUE7SUFDQSx3QkFBQTtFWnFqQ0Y7RVluakNBO0lBQ0UscUJBQUE7SUFDQSx3QkFBQTtJQUNBLFVBQUE7RVpxakNGO0FBQ0Y7QVlsakNBO0VBQ0U7SUFDRSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsVUFBQTtFWm9qQ0Y7RVlsakNBO0lBQ0UsbUJBQUE7SUFDQSx3QkFBQTtFWm9qQ0Y7QUFDRjtBWTdqQ0E7RUFDRTtJQUNFLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxVQUFBO0Vab2pDRjtFWWxqQ0E7SUFDRSxtQkFBQTtJQUNBLHdCQUFBO0Vab2pDRjtBQUNGO0FZampDQTtFQUNFO0lBQ0UsbUJBQUE7SUFDQSx3QkFBQTtFWm1qQ0Y7RVlqakNBO0lBQ0UscUJBQUE7SUFDQSx3QkFBQTtJQUNBLFVBQUE7RVptakNGO0FBQ0Y7QVk1akNBO0VBQ0U7SUFDRSxtQkFBQTtJQUNBLHdCQUFBO0VabWpDRjtFWWpqQ0E7SUFDRSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsVUFBQTtFWm1qQ0Y7QUFDRjtBWWhqQ0E7RUFDRTtJQUNFLHFCQUFBO0lBQ0EsMEJBQUE7SUFDQSxVQUFBO0Vaa2pDRjtFWWhqQ0E7SUFDRSxtQkFBQTtJQUNBLDBCQUFBO0Vaa2pDRjtBQUNGO0FZM2pDQTtFQUNFO0lBQ0UscUJBQUE7SUFDQSww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ZXY4RUU7RUFDRSxrQkFBQTtBZnk4RUo7QWV4OEVJO0VBQ0Usb0JBQUE7QWYwOEVOO0FldjhFSTtFQUNFLGNBQUE7QWZ5OEVOO0FlcjhFRTtFQUNFLHlEQUFBO0FmdThFSjtBZXg4RUU7RUFJSSxrQkFBQTtFQUNBLHVCQUFBO1VBQUEsZUFBQTtBZnU4RU47QWU1OEVFO0VBUU0sbURBQUE7VUFBQSwyQ0FBQTtBZnU4RVI7QWVuOEVJO0VBRUksZ0JBQUE7QWZvOEVSO0FlLzdFRTtFQ2hCQSxrQkFBQTtFQUNBLG9CQUFBO0FoQms5RUY7QWVuOEVFOztFQ1pFLGtCQUFBO0FoQm05RUo7QWdCbDlFSTs7Ozs7O0VBR0UsVUFBQTtBaEJ1OUVOO0FnQnI5RUk7O0VBQ0UsVUFBQTtBaEJ3OUVOO0FlbjlFRTtFQ0RFLGVBQUE7QWhCdTlFSjtBQ3RvRkM7O0VlT0MsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FoQm1vRkY7QUM3b0ZDO0VDR0MsV0FBQTtFQUNBLFlBQUE7RWNvTEUsZ0JBQUE7RUFDQSxlQUFBO0FoQjA5RUo7QUNucEZDOztFZU9DLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBaEJncEZGO0FDMXBGQzs7RWUrTEssZUFBQTtBaEIrOUVOO0FDOXBGQztFQ0dDLFdBQUE7RUFDQSxZQUFBO0VjZ01FLGdCQUFBO0VBQ0EsZUFBQTtBaEIrOUVKO0FlcC9FRTs7Ozs7OztFQ3FSRSxpQkFBQTtBaEJ3dUVKO0FlNy9FRTtFQ3dSRSw4QkFBQTtBaEJ3dUVKO0FlaGdGRTtFQzJSRSxnQkFBQTtBaEJ3dUVKO0FlbmdGRTs7RUMrUkUsY0FBQTtBaEJ3dUVKO0FldmdGRTtFQ2tTRSxrQkFBQTtBaEJ3dUVKO0FlMWdGRTtFQ3FTRSxrQkFBQTtBaEJ3dUVKO0FlN2dGRTs7RUN5U0UsMkJBQUE7RUFDQSw4QkFBQTtBaEJ3dUVKO0FlbGhGRTs7RUM4U0UsNEJBQUE7RUFDQSwrQkFBQTtBaEJ3dUVKO0FnQnR1RUU7RUFFSSxrQkFBQTtBaEJ1dUVOO0FnQnp1RUU7RUFLSSxrQkFB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O0FJNXdIRTtFQUVFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtBSjZ3SEo7QXVCaC9HTTs7O0VBQ0UsdUJBQUE7QXZCby9HUjtBdUJsL0dROzs7RUFDRSxVQUFBO0F2QnMvR1Y7QXVCbi9HUTs7O0VBQ0UsVUFBQTtBdkJ1L0dWO0F1QmwvR0k7RUFDRSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0F2Qm8vR047QUM5eUhDO0VzQjhUSyxvQkFBQTtBdkJtL0dOO0FDanpIQztFc0JrVUssb0JBQUE7QXZCay9HTjtBdUIvK0dJO0VBQ0Usa0JBQUE7RUFDQSx1QkFBQTtBdkJpL0dOO0F1QnRoSEU7RUEwQ0ksV0FBQTtBdkIrK0dOO0FDM3pIQzs7OztFc0JvVkssdUJBQUE7RUFDQSxnQkFBQTtBdkI2K0dOO0F1QjMrR007Ozs7RUFDRSxVQUFBO0F2QmcvR1I7QXVCNytHTTs7OztFQUNFLFVBQUE7QXZCay9HUjtBQzkwSEM7RXNCaVdLLFVBQUE7QXZCZy9HTjtBQ2oxSEM7RXNCc1dLLFVBQUE7QXZCOCtHTjtBQ3AxSEM7Ozs7RXNCNldLLDJCQUFBO0VBQ0EsOEJBQUE7QXZCNitHTjtBQzMxSEM7Ozs7RXNCcVhLLHVCQUFBO0VBQ0EsNEJBQUE7RUFDQSwrQkFBQTtBdkI0K0dOO0FDbjJIQztFc0I0WEssbUJBQUE7QXZCMCtHTjtBdUJwa0hFO0VBOEZJLGlCQUFBO0F2QnkrR047QXVCdmtIRTtFQWdHTSxnQkFBQTtBdkIwK0dSO0FDNTJIQztFc0J5WVMsZ0JBQUE7QXZCcytHVjtBQy8ySEM7RXNCNllTLDBCQUFBO0F2QnErR1Y7QTJCdDJIRTs7RUY2RUUsMEJBQUE7QXpCNnhISjtBQ3QzSEM7RXdCOEZLLCtCQUFBO0VBQ0EsY0FBQTtBekIyeEhOO0FDMTNIQztFd0JxR0ssZUFBQTtFQUNBLDhCQUFBO0F6Qnd4SE47QUM5M0hDOztFd0I2R0ssMEJBQUE7QXpCcXhITjtBQ2w0SEM7RXdCb0hPLDBCQUFBO0F6Qml4SFI7QUNyNEhDO0V3QjBITywwQkFBQTtBekI4d0hSO0FDeDRIQztFd0JrSU8sZUFBQTtFQUNBLGlCQUFBO0VBQ0Esc0JBQUE7QXpCeXdIUjtBQzc0SEM7Ozs7RXdCNklPLDBCQUFBO0F6QnN3SFI7QUNuNUhDOzs7OztFd0J1Sk8sc0JBQUE7RUFDQSwwQkFBQTtBekJtd0hSO0F5QjV4SEU7RUE4Qkksa0JBQUE7RUFDQSxjQUFBO0F6Qml3SE47QUMvNUhDO0V3Qm9LUywwQkFBQTtBekI4dkhWO0EyQm41SEk7RUFDRSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0EzQnE1SE47QTJCajVIRTtFQUNFLGdDQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0EzQm01SEo7QTJCajVISTtFQUNFLGdDQUFBO0EzQm01SE47QTJCLzRIRTtFQUNFLFlBQUE7QTNCaTVISjtBQ243SEM7RTBCcUNLLFlBQUE7QTNCaTVITjtBQ3Q3SEM7RTBCd0NLLFlBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0EzQmk1SE47QTJCNTRISTtFQUNFLGNBQUE7RUFDQSxnQ0FBQTtFQUNBLGlCQUFBO0VBQ0EseUJBQUE7QTNCODRITjtBNEJ4N0hJOztFQUVFLHFCQUFBO0E1QjA3SE47QTRCNTdISTs7RUFLSSwwQkFBQTtBNUIyN0hSO0FDejhIQztFMkJvQkcsZ0JBQUE7QTVCdzdISjtBQzU4SEM7RTJCMEJHLG1CQUFBO0E1QnE3SEo7QUMvOEhDO0UyQitCSyxVQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7QTVCbTdITjtBQ3A5SEM7RTJCb0NPLGNBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0E1Qm03SFI7QUN6OUhDO0UyQjBDTyxnQ0FBQTtBNUJrN0hSO0FDNTlIQztFMkI2Q1MsTUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtBNUJrN0hWO0E0QjU2SEU7RUFDRSxZQUFBO0E1Qjg2SEo7QTRCNTZISTs7RUFFRSxVQUFBO0E1Qjg2SE47QTRCMTZIRTtFQUNFLFlBQUE7QTVCNDZISjtBNEJ6NkhFO0VBQ0UsWUFBQTtBNUIyNkhKO0F5QnorSEk7RUFDRSxjQUFBO0F6QjIrSE47QXlCeCtIRTtFQUNFLGNBQUE7QXpCMCtISjtBeUJsK0hFO0VBRUksWUFBQTtFQUNBLGFBQUE7QXpCbStITjtBeUIvOUhFO0VBRUksaUJBQUE7QXpCZytITjtBeUJsK0hFO0VBTUksaUJBQUE7QXpCKzlITjtBeUIxOUhJO0VBQ0UsY0FBQTtBekI0OUhOO0F5Qno5SEk7RUFDRSxnQkFBQTtBekIyOUhOO0FDcmdJQztFd0JtREssaUJBQUE7RUFDQSxjQUFBO0F6QnE5SE47QUN6Z0lDO0V3QnlERyxXQUFBO0VBQ0EsU0FBQTtBekJtOUhKO0FDN2dJQztFd0JnTEMsY0FBQTtBekJnMkhGO0F5QjcxSEk7O0VBR0ksMkJBQUE7RUFDQSwwQkFBQTtBekI4MUhSO0F5QnYxSE07O0VBRUUsMkJBQUE7QXpCeTFIUjtBQ3poSUM7RXdCcU1LLFdBQUE7RUFDQSxVQUFBO0F6QnUxSE47QUM3aElDO0V3QndNTywwQkFBQTtBekJ3MUhSO0E2Qi9oSUE7RTVCREM7STRCR0csWUFBQTtFN0JpaUlGO0U2Qi9oSUU7SUFDRSxZQUFBO0U3QmlpSUo7RTZCOWhJRTtJQUNFLFlBQUE7RTdCZ2lJSjtFNkI3aElFO0lBRUksWUFBQTtFN0I4aElOO0FBQ0Y7QThCOWlJQTtFQUNFLHVCQUFBO0VBQ0EsMkJBQUE7RUFHQSx5QkFBQTtFQUNBLGtDQUFBO0E5QjhpSUY7QUNwaklDOztFQ0dDLFdBQUE7RUFDQSxZQUFBO0FGcWpJRjtBQ3pqSUM7O0VDR0MsV0FBQTtFQUNBLFlBQUE7QUYwaklGO0FDOWpJQzs7RUNHQyxXQUFBO0VBQ0EsWUFBQTtBRitqSUY7QStCaDNIQTtFQUNFO0lBQ0UsbUJBQUE7SUFDQSxZQUFBO0UvQmszSEY7RStCaDNIQTtJQUNFLHFCQUFBO0lBQ0EsVUFBQTtFL0JrM0hGO0FBQ0Y7QStCMTNIQTtFQUNFO0lBQ0UsbUJBQUE7SUFDQSxZQUFBO0UvQmszSEY7RStCaDNIQTtJQUNFLHFCQUFBO0lBQ0EsVUFBQTtFL0JrM0hGO0FBQ0Y7QUM3a0lDO0VpQkdDLHNCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSwwQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtFYUhFLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtBL0JpbElKO0FDaG1JQzs7O0U4Qm9CSyxxQkFBQTtBL0JpbElOO0ErQjlrSUk7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxzREFBQTtVQUFBLDhDQUFBO0VBQ0Esc0NBQUE7VUFBQSw4QkFBQTtFQUNBLFdBQUE7QS9CZ2xJTjtBQ2xuSUM7O0U4QnVDSyxtQkFBQTtBL0Ira0lOO0ErQjVrSUk7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLDZCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUdBLHlCQUFBO0VBQ0Esb0JBQUE7QS9CNGtJTjtBK0Ixa0lNO0VBSUUsa0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLHVEQUFBO0VBQ0EsVUFBQTtFQUNBLHVFQUFBO0VBQ0EsWUFBQTtBL0J5a0lSO0ErQnJrSUk7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtBL0J1a0lOO0FDL3BJQztFOEI4Rkcsa0JBQUE7RUFDQSxjQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLHVEQUFBO0VBQ0EsVUFBQTtFQUNBLDZEQUFBO0VBQ0EsWUFBQTtBL0Jva0lKO0FDMXFJQztFOEIyR0sseUJBQUE7RUFDQSxxQkFBQTtBL0Jra0lOO0FDOXFJQztFOEJpSEcsbUJBQUE7QS9CZ2tJSjtBQ2pySUM7RThCcUhPLHNDQUFBO0VBQ0EsNEJBQUE7VUFBQSxvQkFBQTtBL0IraklSO0FDcnJJQztFOEIySEssbUJBQUE7QS9CNmpJTjtBQ3hySUM7RThCK0hLLDJDQUFBO0VBQ0EsZ0NBQUE7QS9CNGpJTjtBK0IzaklNO0VBQ0UsdUNBQUE7RUFDQSx5QkFBQTtFQUNBLDRCQUFBO1VBQUEsb0JBQUE7QS9CNmpJUjtBK0J6aklJO0VBQ0UsK0JBQUE7RUFDQSxtQkFBQTtBL0IyaklOO0FDcnNJQzs7RThCZ0pLLGtCQUFBO0EvQnlqSU47QUN6c0lDO0VpQkdDLHNCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSwwQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtFYTRJRSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBL0I4aklKO0FDdnRJQztFOEIySkssbUJBQUE7QS9CK2pJTjtBK0I3aklJO0VBQ0UsZ0JBQUE7QS9CK2pJTjtBQzd0SUM7RThCbUtHLGtCQUFBO0VBQ0EsaUJBQUE7QS9CNmpJSjtBQ2p1SUM7RWlCR0Msc0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLDZCQUFBO0VhK0pFLHFCQUFBO0EvQm1rSUo7QStCbGtJSTtFQUNFLHFCQUFBO0VBQ0EsaUJBQUE7QS9Cb2tJTjtBK0Jua0lNO0VBQ0UsZUFBQTtBL0Jxa0lSO0ErQmxrSUk7RUFDRSxjQUFBO0EvQm9rSU47QUN2dklDO0U4QjBMSyw2QkFBQTtFQUNBLHFCQUFBO0EvQmdrSU47QUMzdklDO0U4QmlNSyxRQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7RUFDQSxTQUFBO0VBQ0EseUNBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtBL0I2aklOO0FDdHdJQztFOEI2TUssMENBQUE7RUFDQSxzQ0FBQTtBL0I0aklOO0FDMXdJQztFK0JJRyxjQUFBO0FoQ3l3SUo7QUM3d0lDO0UrQlVPLGVBQUE7RUFDQSxnQkFBQTtBaENzd0lSO0FDanhJQztFK0JlUyx5QkFBQTtBaENxd0lWO0FDcHhJQztFK0JxQk8sZ0JBQUE7QWhDa3dJUjtBaUN0eElFO0VBQ0UsYUFBQTtBakN3eElKO0FDMXhJQzs7Ozs7O0VpQzRCSyx5QkFBQTtBbENzd0lOO0FrQ2p3SVE7RUFDRSxtQkFBQTtFQUNBLGdDQUFBO0FsQ213SVY7QWtDandJUTtFQUNFLDJDQUFBO0FsQ213SVY7QWtDN3ZJTTs7RUFHSSxtQkFBQTtBbEM4dklWO0FDN3lJQztFaUN1RFcseUJBQUE7RUFDQSxnQ0FBQTtBbEN5dklaO0FDanpJQztFaUM4REsseUJBQUE7QWxDc3ZJTjtBQ3B6SUM7RWlDZ0VPLHlCQUFBO0FsQ3V2SVI7QUN2eklDOztFaUNzRVcsZ0NBQUE7QWxDcXZJWjtBQzN6SUM7RWlDNkVXLHlCQUFBO0VBQ0EsZ0NBQUE7QWxDaXZJWjtBQy96SUM7RWlDcUZXLGdDQUFBO0FsQzZ1SVo7QUNsMElDOztFaUN3RmEseUJBQUE7QWxDOHVJZDtBQ3QwSUM7RWlDNkZhLG1CQUFBO0FsQzR1SWQ7QUN6MElDO0VpQ29HUyx5QkFBQTtBbEN3dUlWO0FDNTBJQzs7OztFaUM0R1MsK0JBQUE7QWxDc3VJVjtBQ2wxSUM7RWlDaUhTLCtCQUFBO0FsQ291SVY7QUNyMUlDO0VpQ3dIYSxnQ0FBQTtBbENndUlkO0FDeDFJQztFaUMrSFMseUJBQUE7QWxDNHRJVjtBa0N2dElVO0VBQ0UsK0JBQUE7QWxDeXRJWjtBQzkxSUM7RWlDMElTLHlCQUFBO0FsQ3V0SVY7QUNqMklDO0VpQzhJTyx5QkFBQTtBbENzdElSO0FDcDJJQztFaUNtSksseUJBQUE7QWxDb3RJTjtBQ3YySUM7RWlDcUpPLHlCQUFBO0FsQ3F0SVI7QUMxMklDO0VpQ3VKUyw2QkFBQTtBbENzdElWO0FDNzJJQztFaUM4Sk8seUJBQUE7RUFDQSxnQ0FBQTtBbENrdElSO0Fr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dm5KTTtFQUNFLHlCQUFBO0F2Q3luSlI7QUMvekpDO0VzQ2tNSyx5QkFBQTtBdkNnb0pOO0F1QzduSk07RUFDRSx5QkFBQTtBdkMrbkpSO0FDcjBKQztFc0NrTUsseUJBQUE7QXZDc29KTjtBdUNub0pNO0VBQ0UseUJBQUE7QXZDcW9KUjtBQzMwSkM7RXNDa01LLHlCQUFBO0F2QzRvSk47QXVDem9KTTtFQUNFLHlCQUFBO0F2QzJvSlI7QUNqMUpDO0VzQ2tNSyx5QkFBQTtBdkNrcEpOO0F1Qy9vSk07RUFDRSx5QkFBQTtBdkNpcEpSO0FDdjFKQztFc0NrTUsseUJBQUE7QXZDd3BKTjtBdUNycEpNO0VBQ0UseUJBQUE7QXZDdXBKUjtBQzcxSkM7RXNDa01LLHlCQUFBO0F2QzhwSk47QXVDM3BKTTtFQUNFLHlCQUFBO0F2QzZwSlI7QUNuMkpDO0VzQ2tNSyx5QkFBQTtBdkNvcUpOO0F1Q2pxSk07RUFDRSx5QkFBQTtBdkNtcUpSO0FDejJKQztFc0NrTUsseUJBQUE7QXZDMHFKTjtBdUN2cUpNO0VBQ0UseUJBQUE7QXZDeXFKUjtBQy8ySkM7RXNDa01LLHlCQUFBO0F2Q2dySk47QXVDN3FKTTtFQUNFLHlCQUFBO0F2QytxSlI7QUNyM0pDO0VzQ2tNSyx5QkFBQTtBdkNzckpOO0F1Q25ySk07RUFDRSx5QkFBQTtBdkNxckpSO0FDMzNKQztFc0NrTUsseUJBQUE7QXZDNHJKTjtBdUN6ckpNO0VBQ0UseUJBQUE7QXZDMnJKUjtBQ2o0SkM7RXNDa01LLHlCQUFBO0F2Q2tzSk47QXVDL3JKTTtFQUNFLHlCQUFBO0F2Q2lzSlI7QXdDbjRKRTtFQUNFLGNBQUE7QXhDcTRKSjtBQzE0SkM7RXVDVUssaUJBQUE7QXhDbTRKTjtBeUM3NEpBO0VBQ0Usa0JBQUE7QXpDKzRKRjtBQ2g1SkM7RWlCR0Msc0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLDZCQUFBO0V3QkhBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFB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QSxlQUFBO0VBQ0EsZ0JBQUE7QS9DMHZLTjtBK0Nud0tFO0VBYUksZUFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtBL0N5dktOO0ErQ3h3S0U7RUFtQkksV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBL0N3dktOO0ErQzd3S0U7RUF5Qk0saUJBQUE7QS9DdXZLUjtBQ2p5S0M7RThDZ0RHLFlBQUE7RUFDQSxnQkFBQTtBL0NvdktKO0FDcnlLQztFOENvREssZ0JBQUE7RUFDQSxnQkFBQTtBL0NvdktOO0FDenlLQztFOEMwREcsY0FBQTtBL0NrdktKO0FDNXlLQzs7RThDK0RHLGNBQUE7QS9DaXZLSjtBQ2h6S0M7RThDbUVHLGNBQUE7QS9DZ3ZLSjtBQ256S0M7RThDdUVHLGNBQUE7QS9DK3VLSjtBQ3R6S0M7Ozs7OztFaUM0QksseUJBQUE7QWxDa3lLTjtBa0M3eEtRO0VBQ0UsbUJBQUE7RUFDQSxnQ0FBQTtBbEMreEtWO0FrQzd4S1E7RUFDRSwyQ0FBQTtBbEMreEtWO0FrQ3p4S007O0VBR0ksbUJBQUE7QWxDMHhLVjtBQ3owS0M7RWlDdURXLHlCQUFBO0VBQ0EsZ0NBQUE7QWxDcXhLWjtBQzcwS0M7RWlDOERLLHlCQUFBO0FsQ2t4S047QUNoMUtDO0VpQ2dFTyx5QkFBQTtBbENteEtSO0FDbjFLQzs7RWlDc0VXLGdDQUFBO0FsQ2l4S1o7QUN2MUtDO0VpQzZFVyx5QkFBQTtFQUNBLGdDQUFBO0FsQzZ3S1o7QUMzMUtDO0VpQ3FGVyxnQ0FBQTtBbEN5d0taO0FDOTFLQzs7RWlDd0ZhLHlCQUFBO0FsQzB3S2Q7QUNsMktDO0VpQzZGYSxtQkFBQTtBbEN3d0tkO0FDcjJLQztFaUNvR1MseUJBQUE7QWxDb3dLVjtBQ3gyS0M7Ozs7RWlDNEdTLCtCQUFBO0FsQ2t3S1Y7QUM5MktDO0VpQ2lIUywrQkFBQTtBbENnd0tWO0FDajNLQztFaUN3SGEsZ0NBQUE7QWxDNHZLZDtBQ3AzS0M7RWlDK0hTLHlCQUFBO0FsQ3d2S1Y7QWtDbnZLVTtFQUNFLCtCQUFBO0FsQ3F2S1o7QUMxM0tDO0VpQzBJUyx5QkFBQTtBbENtdktWO0FDNzNLQztFaUM4SU8seUJBQUE7QWxDa3ZLUjtBQ2g0S0M7RWlDbUpLLHlCQUFBO0FsQ2d2S047QUNuNEtDO0VpQ3FKTyx5QkFBQTtBbENpdktSO0FDdDRLQztFaUN1SlMsNkJBQUE7QWxDa3ZLVjtBQ3o0S0M7RWlDOEpPLHlCQUFBO0VBQ0EsZ0NBQUE7QWxDOHVLUjtBa0N6dUtNO0VBQ0UsNkJBQUE7QWxDMnVLUjtBa0N0dUtNO0VBRUksbUJBQUE7QWxDdXVLVjtBZ0QxNEtJO0VBQ0UsY0FBQTtBaEQ0NEtOO0FDdDVLQztFK0NnQkssY0FBQTtFQUNBLE9BQUE7QWhEeTRLTjtBQzE1S0M7RStDdUJLLGdCQUFBO0FoRHM0S047QUM3NUtDO0UrQzJCTyxpQkFBQTtFQUNBLGNBQUE7QWhEcTRLUjtBQ2o2S0M7RStDb0NPLGNBQUE7QWhEZzRLUjtBQ3A2S0M7RStDd0NTLFlBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QWhEKzNLVjtBQ3o2S0M7RStDOENXLGtCQUFBO0VBQ0EsY0FBQTtBaEQ4M0taO0FDNzZLQztFK0NzRE8sV0FBQTtBaEQwM0tSO0FDaDdLQztFK0MwRFMsaUJBQUE7RUFDQSxjQUFBO0FoRHkzS1Y7QUNwN0tDO0UrQ3FFSyxpQkFBQTtBaERrM0tOO0FDdjdLQztFZ0RPRyxhQUFBO0FqRG03S0o7QUMxN0tDO0VnRFVLLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBakRtN0tOO0FpRGo3S007RUFDRSxXQUFBO0FqRG03S1I7QUNwOEtDOztFZ0R1QkssVUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7QWpEaTdLTjtBaUQ5NktNO0VBQUE7O0lBRUksaUJBQUE7RWpEaTdLUjtBQUNGO0FDaDlLQztFZ0RvQ0ssa0JBQUE7RUFDQSx5QkFBQTtLQUFBLHNCQUFBO1VBQUEsaUJBQUE7QWpEKzZLTjtBQ3A5S0M7RWdEeUNLLG9CQUFBO0FqRDg2S047QUN2OUtDOzs7RWdEa0RLLHFCQUFBO0VBQ0EsUUFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBakQw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QSx5RUFBQTtBOUYraFFKO0E4RmxpUUU7RUFXSSx5QkFBQTtBOUYwaFFOO0E4RnRoUUU7RUFDRSx3Q0FBQTtFQUNBLG1CQUFBO0VBQ0EseUVBQUE7QTlGd2hRSjtBOEYzaFFFO0VBV0ksMkJBQUE7QTlGbWhRTjtBOEYvZ1FFO0VBQ0Usc0NBQUE7RUFDQSxtQkFBQTtFQUNBLHlFQUFBO0E5RmloUUo7QThGcGhRRTtFQVdJLHlCQUFBO0E5RjRnUU47QThGeGdRRTtFQUNFLHlDQUFBO0VBQ0EsbUJBQUE7RUFDQSx5RUFBQTtBOUYwZ1FKO0E4RjdnUUU7RUFXSSw0QkFBQTtBOUZxZ1FOO0FBOWtRQTtFQUNFLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7RUFFQSwyQkFBQTtFQUNBLDJCQUFBO0VBQ0EsbUNBQUE7RUFFQSwwQkFBQTtFQUNBLDBCQUFBO0VBQ0EsMEJBQUE7RUFDQSwwQkFBQTtFQUVBLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSwwQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7RUFDQSx3QkFBQTtBQTZrUUYiLCJmaWxlIjoiZGFyay5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29uZmlnIGdsb2JhbCBsZXNzIHVuZGVyIGFudGRcbltjbGFzc149fidAe2FudC1wcmVmaXh9LSddLFxuW2NsYXNzKj1+JyBAe2FudC1wcmVmaXh9LSddIHtcbiAgLy8gcmVtb3ZlIHRoZSBjbGVhciBidXR0b24gb2YgYSB0ZXh0IGlucHV0IGNvbnRyb2wgaW4gSUUxMCtcbiAgJjo6LW1zLWNsZWFyLFxuICBpbnB1dDo6LW1zLWNsZWFyLFxuICBpbnB1dDo6LW1zLXJldmVhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYsXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgfVxufVxuIiwiQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9idXR0b24vc3R5bGUvZW50cnlcIjtcbkBpbXBvcnQgXCJ+bm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3Bpbi9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pY29uL3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2NoZWNrYm94L3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL25vdGlmaWNhdGlvbi9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9yYXRlL3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NsaWRlci9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9tb2RhbC9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zZWxlY3Qvc3R5bGUvZW50cnlcIjtcbkBpbXBvcnQgXCJ+bm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvYWxlcnQvc3R5bGUvZW50cnlcIjtcbkBpbXBvcnQgXCJ+bm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvY2Fyb3VzZWwvc3R5bGUvZW50cnlcIjtcbkBpbXBvcnQgXCJ+bm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvcG9wb3Zlci9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIi4vdGhlbWVzL2RhcmtcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvaW5kZXhcIjtcblxuOnJvb3Qge1xuICAtLXVuaS1saWdodC0xMDA6ICMwMDAwMDA7XG4gIC0tdW5pLWxpZ2h0LTE1MDogIzkxOTQ5YjtcbiAgLS11bmktbGlnaHQtMjAwOiAjNDg1MDYzO1xuICAtLXVuaS1saWdodC0yNTA6ICMzMTNjNTM7XG4gIC0tdW5pLWxpZ2h0LTQwMDogIzI4MzI0ODtcbiAgLS11bmktbGlnaHQtNjAwOiAjMWUyNzNhO1xuICAtLXVuaS1saWdodC03NTA6ICMyMjI5Mzc7XG4gIC0tdW5pLWxpZ2h0LTgwMDogIzFiMWIxYjtcblxuICAtLXVuaS1jb250cmFzdC0zMDA6ICNjM2MzYzM7XG4gIC0tdW5pLWNvbnRyYXN0LTUwMDogI2ZmZmZmZjtcbiAgLS11bmktcHJpbWFyeS1jb250cmFzdC01MDA6ICNmZmZmZmY7XG5cbiAgLS11bmktcHJpbWFyeS0zMDA6ICNlYjMxMzc7XG4gIC0tdW5pLXByaW1hcnktNDAwOiAjY2YxOTFmO1xuICAtLXVuaS1wcmltYXJ5LTgwMDogI2EzMTQxODtcbiAgLS11bmktcHJpbWFyeS05MDA6ICM1YzBhMGQ7XG5cbiAgLS11bmktYmxhY2stNTAwOiAjMTAxMDEwO1xuICAtLXVuaS1ibGFjay00MDA6ICMxNTE2MWE7XG4gIC0tdW5pLWJsYWNrLTEwMDogIzIxMjQyOTtcbiAgLS11bmktZ3JleS00MDA6ICM0OTUwNTc7XG4gIC0tdW5pLWdyZXktMzAwOiAjYWNiNWJkO1xuICAtLXVuaS1ncmV5LTIwMDogI2RkZTJlNTtcbiAgLS11bmktZ3JleS0xMDA6ICNmOGY5ZmE7XG4gIC0tdW5pLWJsdWUtNDAwOiAjMDM1N2E1O1xuICAtLXVuaS1ibHVlLTIwMDogIzAxYTlmMDtcbiAgLS11bmktYmx1ZS0xMDA6ICM0NjllYzM7XG4gIC0tdW5pLXllbGxvdy00MDA6ICNkYjdkMDA7XG4gIC0tdW5pLXllbGxvdy0yMDA6ICNmOWEyMDA7XG4gIC0tdW5pLXllbGxvdy0xMDA6ICNmOWMwNTc7XG4gIC0tdW5pLXB1cnBsZS00MDA6ICM4NDAwYWI7XG4gIC0tdW5pLXB1cnBsZS0yMDA6ICNiYzAwZjQ7XG4gIC0tdW5pLWdyZWVuLTQwMDogIzAxNzA0MDtcbiAgLS11bmktZ3JlZW4tMjAwOiAjMDBjMTZkO1xuICAtLXVuaS1ncmVlbi0xMDA6ICM0NGMxOGE4MDtcbiAgLS11bmktcmVkLTQwMDogI2I3MmEyODtcbiAgLS11bmktcmVkLTIwMDogI2YxNTc1NDtcbiAgLS11bmktcmVkLTEwMDogI2YxNTc1NDgwO1xufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tYmFuZy1zcGFjZS1iZWZvcmUsbm8tZHVwbGljYXRlLXNlbGVjdG9ycyxzdHJpbmctbm8tbmV3bGluZSAqL1xuLnRpbnlDb2xvck1peGluKCkge1xuQGZ1bmN0aW9uczogfmAoZnVuY3Rpb24oKSB7XG4vLyBUaW55Q29sb3IgdjEuNC4xXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYmdyaW5zL1RpbnlDb2xvclxuLy8gMjAxNi0wNy0wNywgQnJpYW4gR3JpbnN0ZWFkLCBNSVQgTGljZW5zZVxudmFyIHRyaW1MZWZ0ID0gL15cXHMrLyxcbiAgICB0cmltUmlnaHQgPSAvXFxzKyQvLFxuICAgIHRpbnlDb3VudGVyID0gMCxcbiAgICBtYXRoUm91bmQgPSBNYXRoLnJvdW5kLFxuICAgIG1hdGhNaW4gPSBNYXRoLm1pbixcbiAgICBtYXRoTWF4ID0gTWF0aC5tYXgsXG4gICAgbWF0aFJhbmRvbSA9IE1hdGgucmFuZG9tO1xuXG5mdW5jdGlvbiB0aW55Y29sb3IgKGNvbG9yLCBvcHRzKSB7XG5cbiAgICBjb2xvciA9IChjb2xvcikgPyBjb2xvciA6ICcnO1xuICAgIG9wdHMgPSBvcHRzIHx8IHsgfTtcblxuICAgIC8vIElmIGlucHV0IGlzIGFscmVhZHkgYSB0aW55Y29sb3IsIHJldHVybiBpdHNlbGZcbiAgICBpZiAoY29sb3IgaW5zdGFuY2VvZiB0aW55Y29sb3IpIHtcbiAgICAgICByZXR1cm4gY29sb3I7XG4gICAgfVxuICAgIC8vIElmIHdlIGFyZSBjYWxsZWQgYXMgYSBmdW5jdGlvbiwgY2FsbCB1c2luZyBuZXcgaW5zdGVhZFxuICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiB0aW55Y29sb3IpKSB7XG4gICAgICAgIHJldHVybiBuZXcgdGlueWNvbG9yKGNvbG9yLCBvcHRzKTtcbiAgICB9XG5cbiAgICB2YXIgcmdiID0gaW5wdXRUb1JHQihjb2xvcik7XG4gICAgdGhpcy5fb3JpZ2luYWxJbnB1dCA9IGNvbG9yLFxuICAgIHRoaXMuX3IgPSByZ2IucixcbiAgICB0aGlzLl9nID0gcmdiLmcsXG4gICAgdGhpcy5fYiA9IHJnYi5iLFxuICAgIHRoaXMuX2EgPSByZ2IuYSxcbiAgICB0aGlzLl9yb3VuZEEgPSBtYXRoUm91bmQoMTAwKnRoaXMuX2EpIC8gMTAwLFxuICAgIHRoaXMuX2Zvcm1hdCA9IG9wdHMuZm9ybWF0IHx8IHJnYi5mb3JtYXQ7XG4gICAgdGhpcy5fZ3JhZGllbnRUeXBlID0gb3B0cy5ncmFkaWVudFR5cGU7XG5cbiAgICAvLyBEb24ndCBsZXQgdGhlIHJhbmdlIG9mIFswLDI1NV0gY29tZSBiYWNrIGluIFswLDFdLlxuICAgIC8vIFBvdGVudGlhbGx5IGxvc2UgYSBsaXR0bGUgYml0IG9mIHByZWNpc2lvbiBoZXJlLCBidXQgd2lsbCBmaXggaXNzdWVzIHdoZXJlXG4gICAgLy8gLjUgZ2V0cyBpbnRlcnByZXRlZCBhcyBoYWxmIG9mIHRoZSB0b3RhbCwgaW5zdGVhZCBvZiBoYWxmIG9mIDFcbiAgICAvLyBJZiBpdCB3YXMgc3VwcG9zZWQgdG8gYmUgMTI4LCB0aGlzIHdhcyBhbHJlYWR5IHRha2VuIGNhcmUgb2YgYnkgaW5wdXRUb1JnYlxuICAgIGlmICh0aGlzLl9yIDwgMSkgeyB0aGlzLl9yID0gbWF0aFJvdW5kKHRoaXMuX3IpOyB9XG4gICAgaWYgKHRoaXMuX2cgPCAxKSB7IHRoaXMuX2cgPSBtYXRoUm91bmQodGhpcy5fZyk7IH1cbiAgICBpZiAodGhpcy5fYiA8IDEpIHsgdGhpcy5fYiA9IG1hdGhSb3VuZCh0aGlzLl9iKTsgfVxuXG4gICAgdGhpcy5fb2sgPSByZ2Iub2s7XG4gICAgdGhpcy5fdGNfaWQgPSB0aW55Q291bnRlcisrO1xufVxuXG50aW55Y29sb3IucHJvdG90eXBlID0ge1xuICAgIGlzRGFyazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEJyaWdodG5lc3MoKSA8IDEyODtcbiAgICB9LFxuICAgIGlzTGlnaHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNEYXJrKCk7XG4gICAgfSxcbiAgICBpc1ZhbGlkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29rO1xuICAgIH0sXG4gICAgZ2V0T3JpZ2luYWxJbnB1dDogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5fb3JpZ2luYWxJbnB1dDtcbiAgICB9LFxuICAgIGdldEZvcm1hdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXQ7XG4gICAgfSxcbiAgICBnZXRBbHBoYTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hO1xuICAgIH0sXG4gICAgZ2V0QnJpZ2h0bmVzczogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vaHR0cDovL3d3dy53My5vcmcvVFIvQUVSVCNjb2xvci1jb250cmFzdFxuICAgICAgICB2YXIgcmdiID0gdGhpcy50b1JnYigpO1xuICAgICAgICByZXR1cm4gKHJnYi5yICogMjk5ICsgcmdiLmcgKiA1ODcgKyByZ2IuYiAqIDExNCkgLyAxMDAwO1xuICAgIH0sXG4gICAgZ2V0THVtaW5hbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy9odHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICAgICAgIHZhciByZ2IgPSB0aGlzLnRvUmdiKCk7XG4gICAgICAgIHZhciBSc1JHQiwgR3NSR0IsIEJzUkdCLCBSLCBHLCBCO1xuICAgICAgICBSc1JHQiA9IHJnYi5yLzI1NTtcbiAgICAgICAgR3NSR0IgPSByZ2IuZy8yNTU7XG4gICAgICAgIEJzUkdCID0gcmdiLmIvMjU1O1xuXG4gICAgICAgIGlmIChSc1JHQiA8PSAwLjAzOTI4KSB7UiA9IFJzUkdCIC8gMTIuOTI7fSBlbHNlIHtSID0gTWF0aC5wb3coKChSc1JHQiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KTt9XG4gICAgICAgIGlmIChHc1JHQiA8PSAwLjAzOTI4KSB7RyA9IEdzUkdCIC8gMTIuOTI7fSBlbHNlIHtHID0gTWF0aC5wb3coKChHc1JHQiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KTt9XG4gICAgICAgIGlmIChCc1JHQiA8PSAwLjAzOTI4KSB7QiA9IEJzUkdCIC8gMTIuOTI7fSBlbHNlIHtCID0gTWF0aC5wb3coKChCc1JHQiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KTt9XG4gICAgICAgIHJldHVybiAoMC4yMTI2ICogUikgKyAoMC43MTUyICogRykgKyAoMC4wNzIyICogQik7XG4gICAgfSxcbiAgICBzZXRBbHBoYTogZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgdGhpcy5fYSA9IGJvdW5kQWxwaGEodmFsdWUpO1xuICAgICAgICB0aGlzLl9yb3VuZEEgPSBtYXRoUm91bmQoMTAwKnRoaXMuX2EpIC8gMTAwO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxuICAgIHRvSHN2OiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGhzdiA9IHJnYlRvSHN2KHRoaXMuX3IsIHRoaXMuX2csIHRoaXMuX2IpO1xuICAgICAgICByZXR1cm4geyBoOiBoc3YuaCAqIDM2MCwgczogaHN2LnMsIHY6IGhzdi52LCBhOiB0aGlzLl9hIH07XG4gICAgfSxcbiAgICB0b0hzdlN0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBoc3YgPSByZ2JUb0hzdih0aGlzLl9yLCB0aGlzLl9nLCB0aGlzLl9iKTtcbiAgICAgICAgdmFyIGggPSBtYXRoUm91bmQoaHN2LmggKiAzNjApLCBzID0gbWF0aFJvdW5kKGhzdi5zICogMTAwKSwgdiA9IG1hdGhSb3VuZChoc3YudiAqIDEwMCk7XG4gICAgICAgIHJldHVybiAodGhpcy5fYSA9PSAxKSA/XG4gICAgICAgICAgXCJoc3YoXCIgICsgaCArIFwiLCBcIiArIHMgKyBcIiUsIFwiICsgdiArIFwiJSlcIiA6XG4gICAgICAgICAgXCJoc3ZhKFwiICsgaCArIFwiLCBcIiArIHMgKyBcIiUsIFwiICsgdiArIFwiJSwgXCIrIHRoaXMuX3JvdW5kQSArIFwiKVwiO1xuICAgIH0sXG4gICAgdG9Ic2w6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgaHNsID0gcmdiVG9Ic2wodGhpcy5fciwgdGhpcy5fZywgdGhpcy5fYik7XG4gICAgICAgIHJldHVybiB7IGg6IGhzbC5oICogMzYwLCBzOiBoc2wucywgbDogaHNsLmwsIGE6IHRoaXMuX2EgfTtcbiAgICB9LFxuICAgIHRvSHNsU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGhzbCA9IHJnYlRvSHNsKHRoaXMuX3IsIHRoaXMuX2csIHRoaXMuX2IpO1xuICAgICAgICB2YXIgaCA9IG1hdGhSb3VuZChoc2wuaCAqIDM2MCksIHMgPSBtYXRoUm91bmQoaHNsLnMgKiAxMDApLCBsID0gbWF0aFJvdW5kKGhzbC5sICogMTAwKTtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9hID09IDEpID9cbiAgICAgICAgICBcImhzbChcIiAgKyBoICsgXCIsIFwiICsgcyArIFwiJSwgXCIgKyBsICsgXCIlKVwiIDpcbiAgICAgICAgICBcImhzbGEoXCIgKyBoICsgXCIsIFwiICsgcyArIFwiJSwgXCIgKyBsICsgXCIlLCBcIisgdGhpcy5fcm91bmRBICsgXCIpXCI7XG4gICAgfSxcbiAgICB0b0hleDogZnVuY3Rpb24oYWxsb3czQ2hhcikge1xuICAgICAgICByZXR1cm4gcmdiVG9IZXgodGhpcy5fciwgdGhpcy5fZywgdGhpcy5fYiwgYWxsb3czQ2hhcik7XG4gICAgfSxcbiAgICB0b0hleFN0cmluZzogZnVuY3Rpb24oYWxsb3czQ2hhcikge1xuICAgICAgICByZXR1cm4gJyMnICsgdGhpcy50b0hleChhbGxvdzNDaGFyKTtcbiAgICB9LFxuICAgIHRvSGV4ODogZnVuY3Rpb24oYWxsb3c0Q2hhcikge1xuICAgICAgICByZXR1cm4gcmdiYVRvSGV4KHRoaXMuX3IsIHRoaXMuX2csIHRoaXMuX2IsIHRoaXMuX2EsIGFsbG93NENoYXIpO1xuICAgIH0sXG4gICAgdG9IZXg4U3RyaW5nOiBmdW5jdGlvbihhbGxvdzRDaGFyKSB7XG4gICAgICAgIHJldHVybiAnIycgKyB0aGlzLnRvSGV4OChhbGxvdzRDaGFyKTtcbiAgICB9LFxuICAgIHRvUmdiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHsgcjogbWF0aFJvdW5kKHRoaXMuX3IpLCBnOiBtYXRoUm91bmQodGhpcy5fZyksIGI6IG1hdGhSb3VuZCh0aGlzLl9iKSwgYTogdGhpcy5fYSB9O1xuICAgIH0sXG4gICAgdG9SZ2JTdHJpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuX2EgPT0gMSkgP1xuICAgICAgICAgIFwicmdiKFwiICArIG1hdGhSb3VuZCh0aGlzLl9yKSArIFwiLCBcIiArIG1hdGhSb3VuZCh0aGlzLl9nKSArIFwiLCBcIiArIG1hdGhSb3VuZCh0aGlzLl9iKSArIFwiKVwiIDpcbiAgICAgICAgICBcInJnYmEoXCIgKyBtYXRoUm91bmQodGhpcy5fcikgKyBcIiwgXCIgKyBtYXRoUm91bmQodGhpcy5fZykgKyBcIiwgXCIgKyBtYXRoUm91bmQodGhpcy5fYikgKyBcIiwgXCIgKyB0aGlzLl9yb3VuZEEgKyBcIilcIjtcbiAgICB9LFxuICAgIHRvUGVyY2VudGFnZVJnYjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB7IHI6IG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX3IsIDI1NSkgKiAxMDApICsgXCIlXCIsIGc6IG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX2csIDI1NSkgKiAxMDApICsgXCIlXCIsIGI6IG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX2IsIDI1NSkgKiAxMDApICsgXCIlXCIsIGE6IHRoaXMuX2EgfTtcbiAgICB9LFxuICAgIHRvUGVyY2VudGFnZVJnYlN0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fYSA9PSAxKSA/XG4gICAgICAgICAgXCJyZ2IoXCIgICsgbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fciwgMjU1KSAqIDEwMCkgKyBcIiUsIFwiICsgbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fZywgMjU1KSAqIDEwMCkgKyBcIiUsIFwiICsgbWF0aFJvdW5kKGJvdW5kMDEodGhpcy5fYiwgMjU1KSAqIDEwMCkgKyBcIiUpXCIgOlxuICAgICAgICAgIFwicmdiYShcIiArIG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX3IsIDI1NSkgKiAxMDApICsgXCIlLCBcIiArIG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX2csIDI1NSkgKiAxMDApICsgXCIlLCBcIiArIG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX2IsIDI1NSkgKiAxMDApICsgXCIlLCBcIiArIHRoaXMuX3JvdW5kQSArIFwiKVwiO1xuICAgIH0sXG4gICAgdG9OYW1lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX2EgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBcInRyYW5zcGFyZW50XCI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fYSA8IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoZXhOYW1lc1tyZ2JUb0hleCh0aGlzLl9yLCB0aGlzLl9nLCB0aGlzLl9iLCB0cnVlKV0gfHwgZmFsc2U7XG4gICAgfSxcbiAgICB0b0ZpbHRlcjogZnVuY3Rpb24oc2Vjb25kQ29sb3IpIHtcbiAgICAgICAgdmFyIGhleDhTdHJpbmcgPSAnIycgKyByZ2JhVG9BcmdiSGV4KHRoaXMuX3IsIHRoaXMuX2csIHRoaXMuX2IsIHRoaXMuX2EpO1xuICAgICAgICB2YXIgc2Vjb25kSGV4OFN0cmluZyA9IGhleDhTdHJpbmc7XG4gICAgICAgIHZhciBncmFkaWVudFR5cGUgPSB0aGlzLl9ncmFkaWVudFR5cGUgPyBcIkdyYWRpZW50VHlwZSA9IDEsIFwiIDogXCJcIjtcblxuICAgICAgICBpZiAoc2Vjb25kQ29sb3IpIHtcbiAgICAgICAgICAgIHZhciBzID0gdGlueWNvbG9yKHNlY29uZENvbG9yKTtcbiAgICAgICAgICAgIHNlY29uZEhleDhTdHJpbmcgPSAnIycgKyByZ2JhVG9BcmdiSGV4KHMuX3IsIHMuX2csIHMuX2IsIHMuX2EpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KFwiK2dyYWRpZW50VHlwZStcInN0YXJ0Q29sb3JzdHI9XCIraGV4OFN0cmluZytcIixlbmRDb2xvcnN0cj1cIitzZWNvbmRIZXg4U3RyaW5nK1wiKVwiO1xuICAgIH0sXG4gICAgdG9TdHJpbmc6IGZ1bmN0aW9uKGZvcm1hdCkge1xuICAgICAgICB2YXIgZm9ybWF0U2V0ID0gISFmb3JtYXQ7XG4gICAgICAgIGZvcm1hdCA9IGZvcm1hdCB8fCB0aGlzLl9mb3JtYXQ7XG5cbiAgICAgICAgdmFyIGZvcm1hdHRlZFN0cmluZyA9IGZhbHNlO1xuICAgICAgICB2YXIgaGFzQWxwaGEgPSB0aGlzLl9hIDwgMSAmJiB0aGlzLl9hID49IDA7XG4gICAgICAgIHZhciBuZWVkc0FscGhhRm9ybWF0ID0gIWZvcm1hdFNldCAmJiBoYXNBbHBoYSAmJiAoZm9ybWF0ID09PSBcImhleFwiIHx8IGZvcm1hdCA9PT0gXCJoZXg2XCIgfHwgZm9ybWF0ID09PSBcImhleDNcIiB8fCBmb3JtYXQgPT09IFwiaGV4NFwiIHx8IGZvcm1hdCA9PT0gXCJoZXg4XCIgfHwgZm9ybWF0ID09PSBcIm5hbWVcIik7XG5cbiAgICAgICAgaWYgKG5lZWRzQWxwaGFGb3JtYXQpIHtcbiAgICAgICAgICAgIC8vIFNwZWNpYWwgY2FzZSBmb3IgXCJ0cmFuc3BhcmVudFwiLCBhbGwgb3RoZXIgbm9uLWFscGhhIGZvcm1hdHNcbiAgICAgICAgICAgIC8vIHdpbGwgcmV0dXJuIHJnYmEgd2hlbiB0aGVyZSBpcyB0cmFuc3BhcmVuY3kuXG4gICAgICAgICAgICBpZiAoZm9ybWF0ID09PSBcIm5hbWVcIiAmJiB0aGlzLl9hID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9OYW1lKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b1JnYlN0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwicmdiXCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9SZ2JTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcInByZ2JcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b1BlcmNlbnRhZ2VSZ2JTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImhleFwiIHx8IGZvcm1hdCA9PT0gXCJoZXg2XCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9IZXhTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImhleDNcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b0hleFN0cmluZyh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImhleDRcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b0hleDhTdHJpbmcodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJoZXg4XCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9IZXg4U3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJuYW1lXCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9OYW1lKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJoc2xcIikge1xuICAgICAgICAgICAgZm9ybWF0dGVkU3RyaW5nID0gdGhpcy50b0hzbFN0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwiaHN2XCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9Ic3ZTdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRTdHJpbmcgfHwgdGhpcy50b0hleFN0cmluZygpO1xuICAgIH0sXG4gICAgY2xvbmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGlueWNvbG9yKHRoaXMudG9TdHJpbmcoKSk7XG4gICAgfSxcblxuICAgIF9hcHBseU1vZGlmaWNhdGlvbjogZnVuY3Rpb24oZm4sIGFyZ3MpIHtcbiAgICAgICAgdmFyIGNvbG9yID0gZm4uYXBwbHkobnVsbCwgW3RoaXNdLmNvbmNhdChbXS5zbGljZS5jYWxsKGFyZ3MpKSk7XG4gICAgICAgIHRoaXMuX3IgPSBjb2xvci5fcjtcbiAgICAgICAgdGhpcy5fZyA9IGNvbG9yLl9nO1xuICAgICAgICB0aGlzLl9iID0gY29sb3IuX2I7XG4gICAgICAgIHRoaXMuc2V0QWxwaGEoY29sb3IuX2EpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxuICAgIGxpZ2h0ZW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24obGlnaHRlbiwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGJyaWdodGVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5TW9kaWZpY2F0aW9uKGJyaWdodGVuLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgZGFya2VuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5TW9kaWZpY2F0aW9uKGRhcmtlbiwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGRlc2F0dXJhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24oZGVzYXR1cmF0ZSwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIHNhdHVyYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5TW9kaWZpY2F0aW9uKHNhdHVyYXRlLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgZ3JleXNjYWxlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5TW9kaWZpY2F0aW9uKGdyZXlzY2FsZSwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIHNwaW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24oc3BpbiwgYXJndW1lbnRzKTtcbiAgICB9LFxuXG4gICAgX2FwcGx5Q29tYmluYXRpb246IGZ1bmN0aW9uKGZuLCBhcmdzKSB7XG4gICAgICAgIHJldHVybiBmbi5hcHBseShudWxsLCBbdGhpc10uY29uY2F0KFtdLnNsaWNlLmNhbGwoYXJncykpKTtcbiAgICB9LFxuICAgIGFuYWxvZ291czogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKGFuYWxvZ291cywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGNvbXBsZW1lbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlDb21iaW5hdGlvbihjb21wbGVtZW50LCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgbW9ub2Nocm9tYXRpYzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKG1vbm9jaHJvbWF0aWMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBzcGxpdGNvbXBsZW1lbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlDb21iaW5hdGlvbihzcGxpdGNvbXBsZW1lbnQsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICB0cmlhZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKHRyaWFkLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgdGV0cmFkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5Q29tYmluYXRpb24odGV0cmFkLCBhcmd1bWVudHMpO1xuICAgIH1cbn07XG5cbi8vIElmIGlucHV0IGlzIGFuIG9iamVjdCwgZm9yY2UgMSBpbnRvIFwiMS4wXCIgdG8gaGFuZGxlIHJhdGlvcyBwcm9wZXJseVxuLy8gU3RyaW5nIGlucHV0IHJlcXVpcmVzIFwiMS4wXCIgYXMgaW5wdXQsIHNvIDEgd2lsbCBiZSB0cmVhdGVkIGFzIDFcbnRpbnljb2xvci5mcm9tUmF0aW8gPSBmdW5jdGlvbihjb2xvciwgb3B0cykge1xuICAgIGlmICh0eXBlb2YgY29sb3IgPT0gXCJvYmplY3RcIikge1xuICAgICAgICB2YXIgbmV3Q29sb3IgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgaSBpbiBjb2xvcikge1xuICAgICAgICAgICAgaWYgKGNvbG9yLmhhc093blByb3BlcnR5KGkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPT09IFwiYVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0NvbG9yW2ldID0gY29sb3JbaV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuZXdDb2xvcltpXSA9IGNvbnZlcnRUb1BlcmNlbnRhZ2UoY29sb3JbaV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb2xvciA9IG5ld0NvbG9yO1xuICAgIH1cblxuICAgIHJldHVybiB0aW55Y29sb3IoY29sb3IsIG9wdHMpO1xufTtcblxuLy8gR2l2ZW4gYSBzdHJpbmcgb3Igb2JqZWN0LCBjb252ZXJ0IHRoYXQgaW5wdXQgdG8gUkdCXG4vLyBQb3NzaWJsZSBzdHJpbmcgaW5wdXRzOlxuLy9cbi8vICAgICBcInJlZFwiXG4vLyAgICAgXCIjZjAwXCIgb3IgXCJmMDBcIlxuLy8gICAgIFwiI2ZmMDAwMFwiIG9yIFwiZmYwMDAwXCJcbi8vICAgICBcIiNmZjAwMDAwMFwiIG9yIFwiZmYwMDAwMDBcIlxuLy8gICAgIFwicmdiIDI1NSAwIDBcIiBvciBcInJnYiAoMjU1LCAwLCAwKVwiXG4vLyAgICAgXCJyZ2IgMS4wIDAgMFwiIG9yIFwicmdiICgxLCAwLCAwKVwiXG4vLyAgICAgXCJyZ2JhICgyNTUsIDAsIDAsIDEpXCIgb3IgXCJyZ2JhIDI1NSwgMCwgMCwgMVwiXG4vLyAgICAgXCJyZ2JhICgxLjAsIDAsIDAsIDEpXCIgb3IgXCJyZ2JhIDEuMCwgMCwgMCwgMVwiXG4vLyAgICAgXCJoc2woMCwgMTAwJSwgNTAlKVwiIG9yIFwiaHNsIDAgMTAwJSA1MCVcIlxuLy8gICAgIFwiaHNsYSgwLCAxMDAlLCA1MCUsIDEpXCIgb3IgXCJoc2xhIDAgMTAwJSA1MCUsIDFcIlxuLy8gICAgIFwiaHN2KDAsIDEwMCUsIDEwMCUpXCIgb3IgXCJoc3YgMCAxMDAlIDEwMCVcIlxuLy9cbmZ1bmN0aW9uIGlucHV0VG9SR0IoY29sb3IpIHtcblxuICAgIHZhciByZ2IgPSB7IHI6IDAsIGc6IDAsIGI6IDAgfTtcbiAgICB2YXIgYSA9IDE7XG4gICAgdmFyIHMgPSBudWxsO1xuICAgIHZhciB2ID0gbnVsbDtcbiAgICB2YXIgbCA9IG51bGw7XG4gICAgdmFyIG9rID0gZmFsc2U7XG4gICAgdmFyIGZvcm1hdCA9IGZhbHNlO1xuXG4gICAgaWYgKHR5cGVvZiBjb2xvciA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGNvbG9yID0gc3RyaW5nSW5wdXRUb09iamVjdChjb2xvcik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb2xvciA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGlmIChpc1ZhbGlkQ1NTVW5pdChjb2xvci5yKSAmJiBpc1ZhbGlkQ1NTVW5pdChjb2xvci5nKSAmJiBpc1ZhbGlkQ1NTVW5pdChjb2xvci5iKSkge1xuICAgICAgICAgICAgcmdiID0gcmdiVG9SZ2IoY29sb3IuciwgY29sb3IuZywgY29sb3IuYik7XG4gICAgICAgICAgICBvayA9IHRydWU7XG4gICAgICAgICAgICBmb3JtYXQgPSBTdHJpbmcoY29sb3Iucikuc3Vic3RyKC0xKSA9PT0gXCIlXCIgPyBcInByZ2JcIiA6IFwicmdiXCI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNWYWxpZENTU1VuaXQoY29sb3IuaCkgJiYgaXNWYWxpZENTU1VuaXQoY29sb3IucykgJiYgaXNWYWxpZENTU1VuaXQoY29sb3IudikpIHtcbiAgICAgICAgICAgIHMgPSBjb252ZXJ0VG9QZXJjZW50YWdlKGNvbG9yLnMpO1xuICAgICAgICAgICAgdiA9IGNvbnZlcnRUb1BlcmNlbnRhZ2UoY29sb3Iudik7XG4gICAgICAgICAgICByZ2IgPSBoc3ZUb1JnYihjb2xvci5oLCBzLCB2KTtcbiAgICAgICAgICAgIG9rID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvcm1hdCA9IFwiaHN2XCI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNWYWxpZENTU1VuaXQoY29sb3IuaCkgJiYgaXNWYWxpZENTU1VuaXQoY29sb3IucykgJiYgaXNWYWxpZENTU1VuaXQoY29sb3IubCkpIHtcbiAgICAgICAgICAgIHMgPSBjb252ZXJ0VG9QZXJjZW50YWdlKGNvbG9yLnMpO1xuICAgICAgICAgICAgbCA9IGNvbnZlcnRUb1BlcmNlbnRhZ2UoY29sb3IubCk7XG4gICAgICAgICAgICByZ2IgPSBoc2xUb1JnYihjb2xvci5oLCBzLCBsKTtcbiAgICAgICAgICAgIG9rID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvcm1hdCA9IFwiaHNsXCI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IuaGFzT3duUHJvcGVydHkoXCJhXCIpKSB7XG4gICAgICAgICAgICBhID0gY29sb3IuYTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEgPSBib3VuZEFscGhhKGEpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgb2s6IG9rLFxuICAgICAgICBmb3JtYXQ6IGNvbG9yLmZvcm1hdCB8fCBmb3JtYXQsXG4gICAgICAgIHI6IG1hdGhNaW4oMjU1LCBtYXRoTWF4KHJnYi5yLCAwKSksXG4gICAgICAgIGc6IG1hdGhNaW4oMjU1LCBtYXRoTWF4KHJnYi5nLCAwKSksXG4gICAgICAgIGI6IG1hdGhNaW4oMjU1LCBtYXRoTWF4KHJnYi5iLCAwKSksXG4gICAgICAgIGE6IGFcbiAgICB9O1xufVxuXG4vLyBDb252ZXJzaW9uIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gcmdiVG9Ic2wsIHJnYlRvSHN2LCBoc2xUb1JnYiwgaHN2VG9SZ2IgbW9kaWZpZWQgZnJvbTpcbi8vIDxodHRwOi8vbWppamFja3Nvbi5jb20vMjAwOC8wMi9yZ2ItdG8taHNsLWFuZC1yZ2ItdG8taHN2LWNvbG9yLW1vZGVsLWNvbnZlcnNpb24tYWxnb3JpdGhtcy1pbi1qYXZhc2NyaXB0PlxuXG4vLyByZ2JUb1JnYlxuLy8gSGFuZGxlIGJvdW5kcyAvIHBlcmNlbnRhZ2UgY2hlY2tpbmcgdG8gY29uZm9ybSB0byBDU1MgY29sb3Igc3BlY1xuLy8gPGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtY29sb3IvPlxuLy8gKkFzc3VtZXM6KiByLCBnLCBiIGluIFswLCAyNTVdIG9yIFswLCAxXVxuLy8gKlJldHVybnM6KiB7IHIsIGcsIGIgfSBpbiBbMCwgMjU1XVxuZnVuY3Rpb24gcmdiVG9SZ2IociwgZywgYil7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcjogYm91bmQwMShyLCAyNTUpICogMjU1LFxuICAgICAgICBnOiBib3VuZDAxKGcsIDI1NSkgKiAyNTUsXG4gICAgICAgIGI6IGJvdW5kMDEoYiwgMjU1KSAqIDI1NVxuICAgIH07XG59XG5cbi8vIHJnYlRvSHNsXG4vLyBDb252ZXJ0cyBhbiBSR0IgY29sb3IgdmFsdWUgdG8gSFNMLlxuLy8gKkFzc3VtZXM6KiByLCBnLCBhbmQgYiBhcmUgY29udGFpbmVkIGluIFswLCAyNTVdIG9yIFswLCAxXVxuLy8gKlJldHVybnM6KiB7IGgsIHMsIGwgfSBpbiBbMCwxXVxuZnVuY3Rpb24gcmdiVG9Ic2wociwgZywgYikge1xuXG4gICAgciA9IGJvdW5kMDEociwgMjU1KTtcbiAgICBnID0gYm91bmQwMShnLCAyNTUpO1xuICAgIGIgPSBib3VuZDAxKGIsIDI1NSk7XG5cbiAgICB2YXIgbWF4ID0gbWF0aE1heChyLCBnLCBiKSwgbWluID0gbWF0aE1pbihyLCBnLCBiKTtcbiAgICB2YXIgaCwgcywgbCA9IChtYXggKyBtaW4pIC8gMjtcblxuICAgIGlmKG1heCA9PSBtaW4pIHtcbiAgICAgICAgaCA9IHMgPSAwOyAvLyBhY2hyb21hdGljXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgZCA9IG1heCAtIG1pbjtcbiAgICAgICAgcyA9IGwgPiAwLjUgPyBkIC8gKDIgLSBtYXggLSBtaW4pIDogZCAvIChtYXggKyBtaW4pO1xuICAgICAgICBzd2l0Y2gobWF4KSB7XG4gICAgICAgICAgICBjYXNlIHI6IGggPSAoZyAtIGIpIC8gZCArIChnIDwgYiA/IDYgOiAwKTsgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIGc6IGggPSAoYiAtIHIpIC8gZCArIDI7IGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBiOiBoID0gKHIgLSBnKSAvIGQgKyA0OyBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGggLz0gNjtcbiAgICB9XG5cbiAgICByZXR1cm4geyBoOiBoLCBzOiBzLCBsOiBsIH07XG59XG5cbi8vIGhzbFRvUmdiXG4vLyBDb252ZXJ0cyBhbiBIU0wgY29sb3IgdmFsdWUgdG8gUkdCLlxuLy8gKkFzc3VtZXM6KiBoIGlzIGNvbnRhaW5lZCBpbiBbMCwgMV0gb3IgWzAsIDM2MF0gYW5kIHMgYW5kIGwgYXJlIGNvbnRhaW5lZCBbMCwgMV0gb3IgWzAsIDEwMF1cbi8vICpSZXR1cm5zOiogeyByLCBnLCBiIH0gaW4gdGhlIHNldCBbMCwgMjU1XVxuZnVuY3Rpb24gaHNsVG9SZ2IoaCwgcywgbCkge1xuICAgIHZhciByLCBnLCBiO1xuXG4gICAgaCA9IGJvdW5kMDEoaCwgMzYwKTtcbiAgICBzID0gYm91bmQwMShzLCAxMDApO1xuICAgIGwgPSBib3VuZDAxKGwsIDEwMCk7XG5cbiAgICBmdW5jdGlvbiBodWUycmdiKHAsIHEsIHQpIHtcbiAgICAgICAgaWYodCA8IDApIHQgKz0gMTtcbiAgICAgICAgaWYodCA+IDEpIHQgLT0gMTtcbiAgICAgICAgaWYodCA8IDEvNikgcmV0dXJuIHAgKyAocSAtIHApICogNiAqIHQ7XG4gICAgICAgIGlmKHQgPCAxLzIpIHJldHVybiBxO1xuICAgICAgICBpZih0IDwgMi8zKSByZXR1cm4gcCArIChxIC0gcCkgKiAoMi8zIC0gdCkgKiA2O1xuICAgICAgICByZXR1cm4gcDtcbiAgICB9XG5cbiAgICBpZihzID09PSAwKSB7XG4gICAgICAgIHIgPSBnID0gYiA9IGw7IC8vIGFjaHJvbWF0aWNcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHZhciBxID0gbCA8IDAuNSA/IGwgKiAoMSArIHMpIDogbCArIHMgLSBsICogcztcbiAgICAgICAgdmFyIHAgPSAyICogbCAtIHE7XG4gICAgICAgIHIgPSBodWUycmdiKHAsIHEsIGggKyAxLzMpO1xuICAgICAgICBnID0gaHVlMnJnYihwLCBxLCBoKTtcbiAgICAgICAgYiA9IGh1ZTJyZ2IocCwgcSwgaCAtIDEvMyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcjogciAqIDI1NSwgZzogZyAqIDI1NSwgYjogYiAqIDI1NSB9O1xufVxuXG4vLyByZ2JUb0hzdlxuLy8gQ29udmVydHMgYW4gUkdCIGNvbG9yIHZhbHVlIHRvIEhTVlxuLy8gKkFzc3VtZXM6KiByLCBnLCBhbmQgYiBhcmUgY29udGFpbmVkIGluIHRoZSBzZXQgWzAsIDI1NV0gb3IgWzAsIDFdXG4vLyAqUmV0dXJuczoqIHsgaCwgcywgdiB9IGluIFswLDFdXG5mdW5jdGlvbiByZ2JUb0hzdihyLCBnLCBiKSB7XG5cbiAgICByID0gYm91bmQwMShyLCAyNTUpO1xuICAgIGcgPSBib3VuZDAxKGcsIDI1NSk7XG4gICAgYiA9IGJvdW5kMDEoYiwgMjU1KTtcblxuICAgIHZhciBtYXggPSBtYXRoTWF4KHIsIGcsIGIpLCBtaW4gPSBtYXRoTWluKHIsIGcsIGIpO1xuICAgIHZhciBoLCBzLCB2ID0gbWF4O1xuXG4gICAgdmFyIGQgPSBtYXggLSBtaW47XG4gICAgcyA9IG1heCA9PT0gMCA/IDAgOiBkIC8gbWF4O1xuXG4gICAgaWYobWF4ID09IG1pbikge1xuICAgICAgICBoID0gMDsgLy8gYWNocm9tYXRpY1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgc3dpdGNoKG1heCkge1xuICAgICAgICAgICAgY2FzZSByOiBoID0gKGcgLSBiKSAvIGQgKyAoZyA8IGIgPyA2IDogMCk7IGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBnOiBoID0gKGIgLSByKSAvIGQgKyAyOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYjogaCA9IChyIC0gZykgLyBkICsgNDsgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaCAvPSA2O1xuICAgIH1cbiAgICByZXR1cm4geyBoOiBoLCBzOiBzLCB2OiB2IH07XG59XG5cbi8vIGhzdlRvUmdiXG4vLyBDb252ZXJ0cyBhbiBIU1YgY29sb3IgdmFsdWUgdG8gUkdCLlxuLy8gKkFzc3VtZXM6KiBoIGlzIGNvbnRhaW5lZCBpbiBbMCwgMV0gb3IgWzAsIDM2MF0gYW5kIHMgYW5kIHYgYXJlIGNvbnRhaW5lZCBpbiBbMCwgMV0gb3IgWzAsIDEwMF1cbi8vICpSZXR1cm5zOiogeyByLCBnLCBiIH0gaW4gdGhlIHNldCBbMCwgMjU1XVxuIGZ1bmN0aW9uIGhzdlRvUmdiKGgsIHMsIHYpIHtcblxuICAgIGggPSBib3VuZDAxKGgsIDM2MCkgKiA2O1xuICAgIHMgPSBib3VuZDAxKHMsIDEwMCk7XG4gICAgdiA9IGJvdW5kMDEodiwgMTAwKTtcblxuICAgIHZhciBpID0gTWF0aC5mbG9vcihoKSxcbiAgICAgICAgZiA9IGggLSBpLFxuICAgICAgICBwID0gdiAqICgxIC0gcyksXG4gICAgICAgIHEgPSB2ICogKDEgLSBmICogcyksXG4gICAgICAgIHQgPSB2ICogKDEgLSAoMSAtIGYpICogcyksXG4gICAgICAgIG1vZCA9IGkgJSA2LFxuICAgICAgICByID0gW3YsIHEsIHAsIHAsIHQsIHZdW21vZF0sXG4gICAgICAgIGcgPSBbdCwgdiwgdiwgcSwgcCwgcF1bbW9kXSxcbiAgICAgICAgYiA9IFtwLCBwLCB0LCB2LCB2LCBxXVttb2RdO1xuXG4gICAgcmV0dXJuIHsgcjogciAqIDI1NSwgZzogZyAqIDI1NSwgYjogYiAqIDI1NSB9O1xufVxuXG4vLyByZ2JUb0hleFxuLy8gQ29udmVydHMgYW4gUkdCIGNvbG9yIHRvIGhleFxuLy8gQXNzdW1lcyByLCBnLCBhbmQgYiBhcmUgY29udGFpbmVkIGluIHRoZSBzZXQgWzAsIDI1NV1cbi8vIFJldHVybnMgYSAzIG9yIDYgY2hhcmFjdGVyIGhleFxuZnVuY3Rpb24gcmdiVG9IZXgociwgZywgYiwgYWxsb3czQ2hhcikge1xuXG4gICAgdmFyIGhleCA9IFtcbiAgICAgICAgcGFkMihtYXRoUm91bmQocikudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoZykudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoYikudG9TdHJpbmcoMTYpKVxuICAgIF07XG5cbiAgICAvLyBSZXR1cm4gYSAzIGNoYXJhY3RlciBoZXggaWYgcG9zc2libGVcbiAgICBpZiAoYWxsb3czQ2hhciAmJiBoZXhbMF0uY2hhckF0KDApID09IGhleFswXS5jaGFyQXQoMSkgJiYgaGV4WzFdLmNoYXJBdCgwKSA9PSBoZXhbMV0uY2hhckF0KDEpICYmIGhleFsyXS5jaGFyQXQoMCkgPT0gaGV4WzJdLmNoYXJBdCgxKSkge1xuICAgICAgICByZXR1cm4gaGV4WzBdLmNoYXJBdCgwKSArIGhleFsxXS5jaGFyQXQoMCkgKyBoZXhbMl0uY2hhckF0KDApO1xuICAgIH1cblxuICAgIHJldHVybiBoZXguam9pbihcIlwiKTtcbn1cblxuLy8gcmdiYVRvSGV4XG4vLyBDb252ZXJ0cyBhbiBSR0JBIGNvbG9yIHBsdXMgYWxwaGEgdHJhbnNwYXJlbmN5IHRvIGhleFxuLy8gQXNzdW1lcyByLCBnLCBiIGFyZSBjb250YWluZWQgaW4gdGhlIHNldCBbMCwgMjU1XSBhbmRcbi8vIGEgaW4gWzAsIDFdLiBSZXR1cm5zIGEgNCBvciA4IGNoYXJhY3RlciByZ2JhIGhleFxuZnVuY3Rpb24gcmdiYVRvSGV4KHIsIGcsIGIsIGEsIGFsbG93NENoYXIpIHtcblxuICAgIHZhciBoZXggPSBbXG4gICAgICAgIHBhZDIobWF0aFJvdW5kKHIpLnRvU3RyaW5nKDE2KSksXG4gICAgICAgIHBhZDIobWF0aFJvdW5kKGcpLnRvU3RyaW5nKDE2KSksXG4gICAgICAgIHBhZDIobWF0aFJvdW5kKGIpLnRvU3RyaW5nKDE2KSksXG4gICAgICAgIHBhZDIoY29udmVydERlY2ltYWxUb0hleChhKSlcbiAgICBdO1xuXG4gICAgLy8gUmV0dXJuIGEgNCBjaGFyYWN0ZXIgaGV4IGlmIHBvc3NpYmxlXG4gICAgaWYgKGFsbG93NENoYXIgJiYgaGV4WzBdLmNoYXJBdCgwKSA9PSBoZXhbMF0uY2hhckF0KDEpICYmIGhleFsxXS5jaGFyQXQoMCkgPT0gaGV4WzFdLmNoYXJBdCgxKSAmJiBoZXhbMl0uY2hhckF0KDApID09IGhleFsyXS5jaGFyQXQoMSkgJiYgaGV4WzNdLmNoYXJBdCgwKSA9PSBoZXhbM10uY2hhckF0KDEpKSB7XG4gICAgICAgIHJldHVybiBoZXhbMF0uY2hhckF0KDApICsgaGV4WzFdLmNoYXJBdCgwKSArIGhleFsyXS5jaGFyQXQoMCkgKyBoZXhbM10uY2hhckF0KDApO1xuICAgIH1cblxuICAgIHJldHVybiBoZXguam9pbihcIlwiKTtcbn1cblxuLy8gcmdiYVRvQXJnYkhleFxuLy8gQ29udmVydHMgYW4gUkdCQSBjb2xvciB0byBhbiBBUkdCIEhleDggc3RyaW5nXG4vLyBSYXJlbHkgdXNlZCwgYnV0IHJlcXVpcmVkIGZvciBcInRvRmlsdGVyKClcIlxuZnVuY3Rpb24gcmdiYVRvQXJnYkhleChyLCBnLCBiLCBhKSB7XG5cbiAgICB2YXIgaGV4ID0gW1xuICAgICAgICBwYWQyKGNvbnZlcnREZWNpbWFsVG9IZXgoYSkpLFxuICAgICAgICBwYWQyKG1hdGhSb3VuZChyKS50b1N0cmluZygxNikpLFxuICAgICAgICBwYWQyKG1hdGhSb3VuZChnKS50b1N0cmluZygxNikpLFxuICAgICAgICBwYWQyKG1hdGhSb3VuZChiKS50b1N0cmluZygxNikpXG4gICAgXTtcblxuICAgIHJldHVybiBoZXguam9pbihcIlwiKTtcbn1cblxuLy8gZXF1YWxzXG4vLyBDYW4gYmUgY2FsbGVkIHdpdGggYW55IHRpbnljb2xvciBpbnB1dFxudGlueWNvbG9yLmVxdWFscyA9IGZ1bmN0aW9uIChjb2xvcjEsIGNvbG9yMikge1xuICAgIGlmICghY29sb3IxIHx8ICFjb2xvcjIpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgcmV0dXJuIHRpbnljb2xvcihjb2xvcjEpLnRvUmdiU3RyaW5nKCkgPT0gdGlueWNvbG9yKGNvbG9yMikudG9SZ2JTdHJpbmcoKTtcbn07XG5cbnRpbnljb2xvci5yYW5kb20gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGlueWNvbG9yLmZyb21SYXRpbyh7XG4gICAgICAgIHI6IG1hdGhSYW5kb20oKSxcbiAgICAgICAgZzogbWF0aFJhbmRvbSgpLFxuICAgICAgICBiOiBtYXRoUmFuZG9tKClcbiAgICB9KTtcbn07XG5cbi8vIE1vZGlmaWNhdGlvbiBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoYW5rcyB0byBsZXNzLmpzIGZvciBzb21lIG9mIHRoZSBiYXNpY3MgaGVyZVxuLy8gPGh0dHBzOi8vZ2l0aHViLmNvbS9jbG91ZGhlYWQvbGVzcy5qcy9ibG9iL21hc3Rlci9saWIvbGVzcy9mdW5jdGlvbnMuanM+XG5cbmZ1bmN0aW9uIGRlc2F0dXJhdGUoY29sb3IsIGFtb3VudCkge1xuICAgIGFtb3VudCA9IChhbW91bnQgPT09IDApID8gMCA6IChhbW91bnQgfHwgMTApO1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgaHNsLnMgLT0gYW1vdW50IC8gMTAwO1xuICAgIGhzbC5zID0gY2xhbXAwMShoc2wucyk7XG4gICAgcmV0dXJuIHRpbnljb2xvcihoc2wpO1xufVxuXG5mdW5jdGlvbiBzYXR1cmF0ZShjb2xvciwgYW1vdW50KSB7XG4gICAgYW1vdW50ID0gKGFtb3VudCA9PT0gMCkgPyAwIDogKGFtb3VudCB8fCAxMCk7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICBoc2wucyArPSBhbW91bnQgLyAxMDA7XG4gICAgaHNsLnMgPSBjbGFtcDAxKGhzbC5zKTtcbiAgICByZXR1cm4gdGlueWNvbG9yKGhzbCk7XG59XG5cbmZ1bmN0aW9uIGdyZXlzY2FsZShjb2xvcikge1xuICAgIHJldHVybiB0aW55Y29sb3IoY29sb3IpLmRlc2F0dXJhdGUoMTAwKTtcbn1cblxuZnVuY3Rpb24gbGlnaHRlbiAoY29sb3IsIGFtb3VudCkge1xuICAgIGFtb3VudCA9IChhbW91bnQgPT09IDApID8gMCA6IChhbW91bnQgfHwgMTApO1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgaHNsLmwgKz0gYW1vdW50IC8gMTAwO1xuICAgIGhzbC5sID0gY2xhbXAwMShoc2wubCk7XG4gICAgcmV0dXJuIHRpbnljb2xvcihoc2wpO1xufVxuXG5mdW5jdGlvbiBicmlnaHRlbihjb2xvciwgYW1vdW50KSB7XG4gICAgYW1vdW50ID0gKGFtb3VudCA9PT0gMCkgPyAwIDogKGFtb3VudCB8fCAxMCk7XG4gICAgdmFyIHJnYiA9IHRpbnljb2xvcihjb2xvcikudG9SZ2IoKTtcbiAgICByZ2IuciA9IG1hdGhNYXgoMCwgbWF0aE1pbigyNTUsIHJnYi5yIC0gbWF0aFJvdW5kKDI1NSAqIC0gKGFtb3VudCAvIDEwMCkpKSk7XG4gICAgcmdiLmcgPSBtYXRoTWF4KDAsIG1hdGhNaW4oMjU1LCByZ2IuZyAtIG1hdGhSb3VuZCgyNTUgKiAtIChhbW91bnQgLyAxMDApKSkpO1xuICAgIHJnYi5iID0gbWF0aE1heCgwLCBtYXRoTWluKDI1NSwgcmdiLmIgLSBtYXRoUm91bmQoMjU1ICogLSAoYW1vdW50IC8gMTAwKSkpKTtcbiAgICByZXR1cm4gdGlueWNvbG9yKHJnYik7XG59XG5cbmZ1bmN0aW9uIGRhcmtlbiAoY29sb3IsIGFtb3VudCkge1xuICAgIGFtb3VudCA9IChhbW91bnQgPT09IDApID8gMCA6IChhbW91bnQgfHwgMTApO1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgaHNsLmwgLT0gYW1vdW50IC8gMTAwO1xuICAgIGhzbC5sID0gY2xhbXAwMShoc2wubCk7XG4gICAgcmV0dXJuIHRpbnljb2xvcihoc2wpO1xufVxuXG4vLyBTcGluIHRha2VzIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYW1vdW50IHdpdGhpbiBbLTM2MCwgMzYwXSBpbmRpY2F0aW5nIHRoZSBjaGFuZ2Ugb2YgaHVlLlxuLy8gVmFsdWVzIG91dHNpZGUgb2YgdGhpcyByYW5nZSB3aWxsIGJlIHdyYXBwZWQgaW50byB0aGlzIHJhbmdlLlxuZnVuY3Rpb24gc3Bpbihjb2xvciwgYW1vdW50KSB7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICB2YXIgaHVlID0gKGhzbC5oICsgYW1vdW50KSAlIDM2MDtcbiAgICBoc2wuaCA9IGh1ZSA8IDAgPyAzNjAgKyBodWUgOiBodWU7XG4gICAgcmV0dXJuIHRpbnljb2xvcihoc2wpO1xufVxuXG4vLyBDb21iaW5hdGlvbiBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhhbmtzIHRvIGpRdWVyeSB4Q29sb3IgZm9yIHNvbWUgb2YgdGhlIGlkZWFzIGJlaGluZCB0aGVzZVxuLy8gPGh0dHBzOi8vZ2l0aHViLmNvbS9pbmZ1c2lvbi9qUXVlcnkteGNvbG9yL2Jsb2IvbWFzdGVyL2pxdWVyeS54Y29sb3IuanM+XG5cbmZ1bmN0aW9uIGNvbXBsZW1lbnQoY29sb3IpIHtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIGhzbC5oID0gKGhzbC5oICsgMTgwKSAlIDM2MDtcbiAgICByZXR1cm4gdGlueWNvbG9yKGhzbCk7XG59XG5cbmZ1bmN0aW9uIHRyaWFkKGNvbG9yKSB7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICB2YXIgaCA9IGhzbC5oO1xuICAgIHJldHVybiBbXG4gICAgICAgIHRpbnljb2xvcihjb2xvciksXG4gICAgICAgIHRpbnljb2xvcih7IGg6IChoICsgMTIwKSAlIDM2MCwgczogaHNsLnMsIGw6IGhzbC5sIH0pLFxuICAgICAgICB0aW55Y29sb3IoeyBoOiAoaCArIDI0MCkgJSAzNjAsIHM6IGhzbC5zLCBsOiBoc2wubCB9KVxuICAgIF07XG59XG5cbmZ1bmN0aW9uIHRldHJhZChjb2xvcikge1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgdmFyIGggPSBoc2wuaDtcbiAgICByZXR1cm4gW1xuICAgICAgICB0aW55Y29sb3IoY29sb3IpLFxuICAgICAgICB0aW55Y29sb3IoeyBoOiAoaCArIDkwKSAlIDM2MCwgczogaHNsLnMsIGw6IGhzbC5sIH0pLFxuICAgICAgICB0aW55Y29sb3IoeyBoOiAoaCArIDE4MCkgJSAzNjAsIHM6IGhzbC5zLCBsOiBoc2wubCB9KSxcbiAgICAgICAgdGlueWNvbG9yKHsgaDogKGggKyAyNzApICUgMzYwLCBzOiBoc2wucywgbDogaHNsLmwgfSlcbiAgICBdO1xufVxuXG5mdW5jdGlvbiBzcGxpdGNvbXBsZW1lbnQoY29sb3IpIHtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIHZhciBoID0gaHNsLmg7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgdGlueWNvbG9yKGNvbG9yKSxcbiAgICAgICAgdGlueWNvbG9yKHsgaDogKGggKyA3MikgJSAzNjAsIHM6IGhzbC5zLCBsOiBoc2wubH0pLFxuICAgICAgICB0aW55Y29sb3IoeyBoOiAoaCArIDIxNikgJSAzNjAsIHM6IGhzbC5zLCBsOiBoc2wubH0pXG4gICAgXTtcbn1cblxuZnVuY3Rpb24gYW5hbG9nb3VzKGNvbG9yLCByZXN1bHRzLCBzbGljZXMpIHtcbiAgICByZXN1bHRzID0gcmVzdWx0cyB8fCA2O1xuICAgIHNsaWNlcyA9IHNsaWNlcyB8fCAzMDtcblxuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgdmFyIHBhcnQgPSAzNjAgLyBzbGljZXM7XG4gICAgdmFyIHJldCA9IFt0aW55Y29sb3IoY29sb3IpXTtcblxuICAgIGZvciAoaHNsLmggPSAoKGhzbC5oIC0gKHBhcnQgKiByZXN1bHRzID4+IDEpKSArIDcyMCkgJSAzNjA7IC0tcmVzdWx0czsgKSB7XG4gICAgICAgIGhzbC5oID0gKGhzbC5oICsgcGFydCkgJSAzNjA7XG4gICAgICAgIHJldC5wdXNoKHRpbnljb2xvcihoc2wpKTtcbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gbW9ub2Nocm9tYXRpYyhjb2xvciwgcmVzdWx0cykge1xuICAgIHJlc3VsdHMgPSByZXN1bHRzIHx8IDY7XG4gICAgdmFyIGhzdiA9IHRpbnljb2xvcihjb2xvcikudG9Ic3YoKTtcbiAgICB2YXIgaCA9IGhzdi5oLCBzID0gaHN2LnMsIHYgPSBoc3YudjtcbiAgICB2YXIgcmV0ID0gW107XG4gICAgdmFyIG1vZGlmaWNhdGlvbiA9IDEgLyByZXN1bHRzO1xuXG4gICAgd2hpbGUgKHJlc3VsdHMtLSkge1xuICAgICAgICByZXQucHVzaCh0aW55Y29sb3IoeyBoOiBoLCBzOiBzLCB2OiB2fSkpO1xuICAgICAgICB2ID0gKHYgKyBtb2RpZmljYXRpb24pICUgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xufVxuXG4vLyBVdGlsaXR5IEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRpbnljb2xvci5taXggPSBmdW5jdGlvbihjb2xvcjEsIGNvbG9yMiwgYW1vdW50KSB7XG4gICAgYW1vdW50ID0gKGFtb3VudCA9PT0gMCkgPyAwIDogKGFtb3VudCB8fCA1MCk7XG5cbiAgICB2YXIgcmdiMSA9IHRpbnljb2xvcihjb2xvcjEpLnRvUmdiKCk7XG4gICAgdmFyIHJnYjIgPSB0aW55Y29sb3IoY29sb3IyKS50b1JnYigpO1xuXG4gICAgdmFyIHAgPSBhbW91bnQgLyAxMDA7XG5cbiAgICB2YXIgcmdiYSA9IHtcbiAgICAgICAgcjogKChyZ2IyLnIgLSByZ2IxLnIpICogcCkgKyByZ2IxLnIsXG4gICAgICAgIGc6ICgocmdiMi5nIC0gcmdiMS5nKSAqIHApICsgcmdiMS5nLFxuICAgICAgICBiOiAoKHJnYjIuYiAtIHJnYjEuYikgKiBwKSArIHJnYjEuYixcbiAgICAgICAgYTogKChyZ2IyLmEgLSByZ2IxLmEpICogcCkgKyByZ2IxLmFcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRpbnljb2xvcihyZ2JhKTtcbn07XG5cbi8vIFJlYWRhYmlsaXR5IEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyA8aHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZiAoV0NBRyBWZXJzaW9uIDIpXG5cbi8vIGNvbnRyYXN0XG4vLyBBbmFseXplIHRoZSAyIGNvbG9ycyBhbmQgcmV0dXJucyB0aGUgY29sb3IgY29udHJhc3QgZGVmaW5lZCBieSAoV0NBRyBWZXJzaW9uIDIpXG50aW55Y29sb3IucmVhZGFiaWxpdHkgPSBmdW5jdGlvbihjb2xvcjEsIGNvbG9yMikge1xuICAgIHZhciBjMSA9IHRpbnljb2xvcihjb2xvcjEpO1xuICAgIHZhciBjMiA9IHRpbnljb2xvcihjb2xvcjIpO1xuICAgIHJldHVybiAoTWF0aC5tYXgoYzEuZ2V0THVtaW5hbmNlKCksYzIuZ2V0THVtaW5hbmNlKCkpKzAuMDUpIC8gKE1hdGgubWluKGMxLmdldEx1bWluYW5jZSgpLGMyLmdldEx1bWluYW5jZSgpKSswLjA1KTtcbn07XG5cbi8vIGlzUmVhZGFibGVcbi8vIEVuc3VyZSB0aGF0IGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3IgY29tYmluYXRpb25zIG1lZXQgV0NBRzIgZ3VpZGVsaW5lcy5cbi8vIFRoZSB0aGlyZCBhcmd1bWVudCBpcyBhbiBvcHRpb25hbCBPYmplY3QuXG4vLyAgICAgIHRoZSAnbGV2ZWwnIHByb3BlcnR5IHN0YXRlcyAnQUEnIG9yICdBQUEnIC0gaWYgbWlzc2luZyBvciBpbnZhbGlkLCBpdCBkZWZhdWx0cyB0byAnQUEnO1xuLy8gICAgICB0aGUgJ3NpemUnIHByb3BlcnR5IHN0YXRlcyAnbGFyZ2UnIG9yICdzbWFsbCcgLSBpZiBtaXNzaW5nIG9yIGludmFsaWQsIGl0IGRlZmF1bHRzIHRvICdzbWFsbCcuXG4vLyBJZiB0aGUgZW50aXJlIG9iamVjdCBpcyBhYnNlbnQsIGlzUmVhZGFibGUgZGVmYXVsdHMgdG8ge2xldmVsOlwiQUFcIixzaXplOlwic21hbGxcIn0uXG5cbi8vICpFeGFtcGxlKlxuLy8gICAgdGlueWNvbG9yLmlzUmVhZGFibGUoXCIjMDAwXCIsIFwiIzExMVwiKSA9PiBmYWxzZVxuLy8gICAgdGlueWNvbG9yLmlzUmVhZGFibGUoXCIjMDAwXCIsIFwiIzExMVwiLHtsZXZlbDpcIkFBXCIsc2l6ZTpcImxhcmdlXCJ9KSA9PiBmYWxzZVxudGlueWNvbG9yLmlzUmVhZGFibGUgPSBmdW5jdGlvbihjb2xvcjEsIGNvbG9yMiwgd2NhZzIpIHtcbiAgICB2YXIgcmVhZGFiaWxpdHkgPSB0aW55Y29sb3IucmVhZGFiaWxpdHkoY29sb3IxLCBjb2xvcjIpO1xuICAgIHZhciB3Y2FnMlBhcm1zLCBvdXQ7XG5cbiAgICBvdXQgPSBmYWxzZTtcblxuICAgIHdjYWcyUGFybXMgPSB2YWxpZGF0ZVdDQUcyUGFybXMod2NhZzIpO1xuICAgIHN3aXRjaCAod2NhZzJQYXJtcy5sZXZlbCArIHdjYWcyUGFybXMuc2l6ZSkge1xuICAgICAgICBjYXNlIFwiQUFzbWFsbFwiOlxuICAgICAgICBjYXNlIFwiQUFBbGFyZ2VcIjpcbiAgICAgICAgICAgIG91dCA9IHJlYWRhYmlsaXR5ID49IDQuNTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiQUFsYXJnZVwiOlxuICAgICAgICAgICAgb3V0ID0gcmVhZGFiaWxpdHkgPj0gMztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiQUFBc21hbGxcIjpcbiAgICAgICAgICAgIG91dCA9IHJlYWRhYmlsaXR5ID49IDc7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIG91dDtcblxufTtcblxuLy8gbW9zdFJlYWRhYmxlXG4vLyBHaXZlbiBhIGJhc2UgY29sb3IgYW5kIGEgbGlzdCBvZiBwb3NzaWJsZSBmb3JlZ3JvdW5kIG9yIGJhY2tncm91bmRcbi8vIGNvbG9ycyBmb3IgdGhhdCBiYXNlLCByZXR1cm5zIHRoZSBtb3N0IHJlYWRhYmxlIGNvbG9yLlxuLy8gT3B0aW9uYWxseSByZXR1cm5zIEJsYWNrIG9yIFdoaXRlIGlmIHRoZSBtb3N0IHJlYWRhYmxlIGNvbG9yIGlzIHVucmVhZGFibGUuXG4vLyAqRXhhbXBsZSpcbi8vICAgIHRpbnljb2xvci5tb3N0UmVhZGFibGUodGlueWNvbG9yLm1vc3RSZWFkYWJsZShcIiMxMjNcIiwgW1wiIzEyNFwiLCBcIiMxMjVcIl0se2luY2x1ZGVGYWxsYmFja0NvbG9yczpmYWxzZX0pLnRvSGV4U3RyaW5nKCk7IC8vIFwiIzExMjI1NVwiXG4vLyAgICB0aW55Y29sb3IubW9zdFJlYWRhYmxlKHRpbnljb2xvci5tb3N0UmVhZGFibGUoXCIjMTIzXCIsIFtcIiMxMjRcIiwgXCIjMTI1XCJdLHtpbmNsdWRlRmFsbGJhY2tDb2xvcnM6dHJ1ZX0pLnRvSGV4U3RyaW5nKCk7ICAvLyBcIiNmZmZmZmZcIlxuLy8gICAgdGlueWNvbG9yLm1vc3RSZWFkYWJsZShcIiNhODAxNWFcIiwgW1wiI2ZhZjNmM1wiXSx7aW5jbHVkZUZhbGxiYWNrQ29sb3JzOnRydWUsbGV2ZWw6XCJBQUFcIixzaXplOlwibGFyZ2VcIn0pLnRvSGV4U3RyaW5nKCk7IC8vIFwiI2ZhZjNmM1wiXG4vLyAgICB0aW55Y29sb3IubW9zdFJlYWRhYmxlKFwiI2E4MDE1YVwiLCBbXCIjZmFmM2YzXCJdLHtpbmNsdWRlRmFsbGJhY2tDb2xvcnM6dHJ1ZSxsZXZlbDpcIkFBQVwiLHNpemU6XCJzbWFsbFwifSkudG9IZXhTdHJpbmcoKTsgLy8gXCIjZmZmZmZmXCJcbnRpbnljb2xvci5tb3N0UmVhZGFibGUgPSBmdW5jdGlvbihiYXNlQ29sb3IsIGNvbG9yTGlzdCwgYXJncykge1xuICAgIHZhciBiZXN0Q29sb3IgPSBudWxsO1xuICAgIHZhciBiZXN0U2NvcmUgPSAwO1xuICAgIHZhciByZWFkYWJpbGl0eTtcbiAgICB2YXIgaW5jbHVkZUZhbGxiYWNrQ29sb3JzLCBsZXZlbCwgc2l6ZSA7XG4gICAgYXJncyA9IGFyZ3MgfHwge307XG4gICAgaW5jbHVkZUZhbGxiYWNrQ29sb3JzID0gYXJncy5pbmNsdWRlRmFsbGJhY2tDb2xvcnMgO1xuICAgIGxldmVsID0gYXJncy5sZXZlbDtcbiAgICBzaXplID0gYXJncy5zaXplO1xuXG4gICAgZm9yICh2YXIgaT0gMDsgaSA8IGNvbG9yTGlzdC5sZW5ndGggOyBpKyspIHtcbiAgICAgICAgcmVhZGFiaWxpdHkgPSB0aW55Y29sb3IucmVhZGFiaWxpdHkoYmFzZUNvbG9yLCBjb2xvckxpc3RbaV0pO1xuICAgICAgICBpZiAocmVhZGFiaWxpdHkgPiBiZXN0U2NvcmUpIHtcbiAgICAgICAgICAgIGJlc3RTY29yZSA9IHJlYWRhYmlsaXR5O1xuICAgICAgICAgICAgYmVzdENvbG9yID0gdGlueWNvbG9yKGNvbG9yTGlzdFtpXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGlueWNvbG9yLmlzUmVhZGFibGUoYmFzZUNvbG9yLCBiZXN0Q29sb3IsIHtcImxldmVsXCI6bGV2ZWwsXCJzaXplXCI6c2l6ZX0pIHx8ICFpbmNsdWRlRmFsbGJhY2tDb2xvcnMpIHtcbiAgICAgICAgcmV0dXJuIGJlc3RDb2xvcjtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGFyZ3MuaW5jbHVkZUZhbGxiYWNrQ29sb3JzPWZhbHNlO1xuICAgICAgICByZXR1cm4gdGlueWNvbG9yLm1vc3RSZWFkYWJsZShiYXNlQ29sb3IsW1wiI2ZmZlwiLCBcIiMwMDBcIl0sYXJncyk7XG4gICAgfVxufTtcblxuLy8gQmlnIExpc3Qgb2YgQ29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi8vIDxodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWNvbG9yLyNzdmctY29sb3I+XG52YXIgbmFtZXMgPSB0aW55Y29sb3IubmFtZXMgPSB7XG4gICAgYWxpY2VibHVlOiBcImYwZjhmZlwiLFxuICAgIGFudGlxdWV3aGl0ZTogXCJmYWViZDdcIixcbiAgICBhcXVhOiBcIjBmZlwiLFxuICAgIGFxdWFtYXJpbmU6IFwiN2ZmZmQ0XCIsXG4gICAgYXp1cmU6IFwiZjBmZmZmXCIsXG4gICAgYmVpZ2U6IFwiZjVmNWRjXCIsXG4gICAgYmlzcXVlOiBcImZmZTRjNFwiLFxuICAgIGJsYWNrOiBcIjAwMFwiLFxuICAgIGJsYW5jaGVkYWxtb25kOiBcImZmZWJjZFwiLFxuICAgIGJsdWU6IFwiMDBmXCIsXG4gICAgYmx1ZXZpb2xldDogXCI4YTJiZTJcIixcbiAgICBicm93bjogXCJhNTJhMmFcIixcbiAgICBidXJseXdvb2Q6IFwiZGViODg3XCIsXG4gICAgYnVybnRzaWVubmE6IFwiZWE3ZTVkXCIsXG4gICAgY2FkZXRibHVlOiBcIjVmOWVhMFwiLFxuICAgIGNoYXJ0cmV1c2U6IFwiN2ZmZjAwXCIsXG4gICAgY2hvY29sYXRlOiBcImQyNjkxZVwiLFxuICAgIGNvcmFsOiBcImZmN2Y1MFwiLFxuICAgIGNvcm5mbG93ZXJibHVlOiBcIjY0OTVlZFwiLFxuICAgIGNvcm5zaWxrOiBcImZmZjhkY1wiLFxuICAgIGNyaW1zb246IFwiZGMxNDNjXCIsXG4gICAgY3lhbjogXCIwZmZcIixcbiAgICBkYXJrYmx1ZTogXCIwMDAwOGJcIixcbiAgICBkYXJrY3lhbjogXCIwMDhiOGJcIixcbiAgICBkYXJrZ29sZGVucm9kOiBcImI4ODYwYlwiLFxuICAgIGRhcmtncmF5OiBcImE5YTlhOVwiLFxuICAgIGRhcmtncmVlbjogXCIwMDY0MDBcIixcbiAgICBkYXJrZ3JleTogXCJhOWE5YTlcIixcbiAgICBkYXJra2hha2k6IFwiYmRiNzZiXCIsXG4gICAgZGFya21hZ2VudGE6IFwiOGIwMDhiXCIsXG4gICAgZGFya29saXZlZ3JlZW46IFwiNTU2YjJmXCIsXG4gICAgZGFya29yYW5nZTogXCJmZjhjMDBcIixcbiAgICBkYXJrb3JjaGlkOiBcIjk5MzJjY1wiLFxuICAgIGRhcmtyZWQ6IFwiOGIwMDAwXCIsXG4gICAgZGFya3NhbG1vbjogXCJlOTk2N2FcIixcbiAgICBkYXJrc2VhZ3JlZW46IFwiOGZiYzhmXCIsXG4gICAgZGFya3NsYXRlYmx1ZTogXCI0ODNkOGJcIixcbiAgICBkYXJrc2xhdGVncmF5OiBcIjJmNGY0ZlwiLFxuICAgIGRhcmtzbGF0ZWdyZXk6IFwiMmY0ZjRmXCIsXG4gICAgZGFya3R1cnF1b2lzZTogXCIwMGNlZDFcIixcbiAgICBkYXJrdmlvbGV0OiBcIjk0MDBkM1wiLFxuICAgIGRlZXBwaW5rOiBcImZmMTQ5M1wiLFxuICAgIGRlZXBza3libHVlOiBcIjAwYmZmZlwiLFxuICAgIGRpbWdyYXk6IFwiNjk2OTY5XCIsXG4gICAgZGltZ3JleTogXCI2OTY5NjlcIixcbiAgICBkb2RnZXJibHVlOiBcIjFlOTBmZlwiLFxuICAgIGZpcmVicmljazogXCJiMjIyMjJcIixcbiAgICBmbG9yYWx3aGl0ZTogXCJmZmZhZjBcIixcbiAgICBmb3Jlc3RncmVlbjogXCIyMjhiMjJcIixcbiAgICBmdWNoc2lhOiBcImYwZlwiLFxuICAgIGdhaW5zYm9ybzogXCJkY2RjZGNcIixcbiAgICBnaG9zdHdoaXRlOiBcImY4ZjhmZlwiLFxuICAgIGdvbGQ6IFwiZmZkNzAwXCIsXG4gICAgZ29sZGVucm9kOiBcImRhYTUyMFwiLFxuICAgIGdyYXk6IFwiODA4MDgwXCIsXG4gICAgZ3JlZW46IFwiMDA4MDAwXCIsXG4gICAgZ3JlZW55ZWxsb3c6IFwiYWRmZjJmXCIsXG4gICAgZ3JleTogXCI4MDgwODBcIixcbiAgICBob25leWRldzogXCJmMGZmZjBcIixcbiAgICBob3RwaW5rOiBcImZmNjliNFwiLFxuICAgIGluZGlhbnJlZDogXCJjZDVjNWNcIixcbiAgICBpbmRpZ286IFwiNGIwMDgyXCIsXG4gICAgaXZvcnk6IFwiZmZmZmYwXCIsXG4gICAga2hha2k6IFwiZjBlNjhjXCIsXG4gICAgbGF2ZW5kZXI6IFwiZTZlNmZhXCIsXG4gICAgbGF2ZW5kZXJibHVzaDogXCJmZmYwZjVcIixcbiAgICBsYXduZ3JlZW46IFwiN2NmYzAwXCIsXG4gICAgbGVtb25jaGlmZm9uOiBcImZmZmFjZFwiLFxuICAgIGxpZ2h0Ymx1ZTogXCJhZGQ4ZTZcIixcbiAgICBsaWdodGNvcmFsOiBcImYwODA4MFwiLFxuICAgIGxpZ2h0Y3lhbjogXCJlMGZmZmZcIixcbiAgICBsaWdodGdvbGRlbnJvZHllbGxvdzogXCJmYWZhZDJcIixcbiAgICBsaWdodGdyYXk6IFwiZDNkM2QzXCIsXG4gICAgbGlnaHRncmVlbjogXCI5MGVlOTBcIixcbiAgICBsaWdodGdyZXk6IFwiZDNkM2QzXCIsXG4gICAgbGlnaHRwaW5rOiBcImZmYjZjMVwiLFxuICAgIGxpZ2h0c2FsbW9uOiBcImZmYTA3YVwiLFxuICAgIGxpZ2h0c2VhZ3JlZW46IFwiMjBiMmFhXCIsXG4gICAgbGlnaHRza3libHVlOiBcIjg3Y2VmYVwiLFxuICAgIGxpZ2h0c2xhdGVncmF5OiBcIjc4OVwiLFxuICAgIGxpZ2h0c2xhdGVncmV5OiBcIjc4OVwiLFxuICAgIGxpZ2h0c3RlZWxibHVlOiBcImIwYzRkZVwiLFxuICAgIGxpZ2h0eWVsbG93OiBcImZmZmZlMFwiLFxuICAgIGxpbWU6IFwiMGYwXCIsXG4gICAgbGltZWdyZWVuOiBcIjMyY2QzMlwiLFxuICAgIGxpbmVuOiBcImZhZjBlNlwiLFxuICAgIG1hZ2VudGE6IFwiZjBmXCIsXG4gICAgbWFyb29uOiBcIjgwMDAwMFwiLFxuICAgIG1lZGl1bWFxdWFtYXJpbmU6IFwiNjZjZGFhXCIsXG4gICAgbWVkaXVtYmx1ZTogXCIwMDAwY2RcIixcbiAgICBtZWRpdW1vcmNoaWQ6IFwiYmE1NWQzXCIsXG4gICAgbWVkaXVtcHVycGxlOiBcIjkzNzBkYlwiLFxuICAgIG1lZGl1bXNlYWdyZWVuOiBcIjNjYjM3MVwiLFxuICAgIG1lZGl1bXNsYXRlYmx1ZTogXCI3YjY4ZWVcIixcbiAgICBtZWRpdW1zcHJpbmdncmVlbjogXCIwMGZhOWFcIixcbiAgICBtZWRpdW10dXJxdW9pc2U6IFwiNDhkMWNjXCIsXG4gICAgbWVkaXVtdmlvbGV0cmVkOiBcImM3MTU4NVwiLFxuICAgIG1pZG5pZ2h0Ymx1ZTogXCIxOTE5NzBcIixcbiAgICBtaW50Y3JlYW06IFwiZjVmZmZhXCIsXG4gICAgbWlzdHlyb3NlOiBcImZmZTRlMVwiLFxuICAgIG1vY2Nhc2luOiBcImZmZTRiNVwiLFxuICAgIG5hdmFqb3doaXRlOiBcImZmZGVhZFwiLFxuICAgIG5hdnk6IFwiMDAwMDgwXCIsXG4gICAgb2xkbGFjZTogXCJmZGY1ZTZcIixcbiAgICBvbGl2ZTogXCI4MDgwMDBcIixcbiAgICBvbGl2ZWRyYWI6IFwiNmI4ZTIzXCIsXG4gICAgb3JhbmdlOiBcImZmYTUwMFwiLFxuICAgIG9yYW5nZXJlZDogXCJmZjQ1MDBcIixcbiAgICBvcmNoaWQ6IFwiZGE3MGQ2XCIsXG4gICAgcGFsZWdvbGRlbnJvZDogXCJlZWU4YWFcIixcbiAgICBwYWxlZ3JlZW46IFwiOThmYjk4XCIsXG4gICAgcGFsZXR1cnF1b2lzZTogXCJhZmVlZWVcIixcbiAgICBwYWxldmlvbGV0cmVkOiBcImRiNzA5M1wiLFxuICAgIHBhcGF5YXdoaXA6IFwiZmZlZmQ1XCIsXG4gICAgcGVhY2hwdWZmOiBcImZmZGFiOVwiLFxuICAgIHBlcnU6IFwiY2Q4NTNmXCIsXG4gICAgcGluazogXCJmZmMwY2JcIixcbiAgICBwbHVtOiBcImRkYTBkZFwiLFxuICAgIHBvd2RlcmJsdWU6IFwiYjBlMGU2XCIsXG4gICAgcHVycGxlOiBcIjgwMDA4MFwiLFxuICAgIHJlYmVjY2FwdXJwbGU6IFwiNjYzMzk5XCIsXG4gICAgcmVkOiBcImYwMFwiLFxuICAgIHJvc3licm93bjogXCJiYzhmOGZcIixcbiAgICByb3lhbGJsdWU6IFwiNDE2OWUxXCIsXG4gICAgc2FkZGxlYnJvd246IFwiOGI0NTEzXCIsXG4gICAgc2FsbW9uOiBcImZhODA3MlwiLFxuICAgIHNhbmR5YnJvd246IFwiZjRhNDYwXCIsXG4gICAgc2VhZ3JlZW46IFwiMmU4YjU3XCIsXG4gICAgc2Vhc2hlbGw6IFwiZmZmNWVlXCIsXG4gICAgc2llbm5hOiBcImEwNTIyZFwiLFxuICAgIHNpbHZlcjogXCJjMGMwYzBcIixcbiAgICBza3libHVlOiBcIjg3Y2VlYlwiLFxuICAgIHNsYXRlYmx1ZTogXCI2YTVhY2RcIixcbiAgICBzbGF0ZWdyYXk6IFwiNzA4MDkwXCIsXG4gICAgc2xhdGVncmV5OiBcIjcwODA5MFwiLFxuICAgIHNub3c6IFwiZmZmYWZhXCIsXG4gICAgc3ByaW5nZ3JlZW46IFwiMDBmZjdmXCIsXG4gICAgc3RlZWxibHVlOiBcIjQ2ODJiNFwiLFxuICAgIHRhbjogXCJkMmI0OGNcIixcbiAgICB0ZWFsOiBcIjAwODA4MFwiLFxuICAgIHRoaXN0bGU6IFwiZDhiZmQ4XCIsXG4gICAgdG9tYXRvOiBcImZmNjM0N1wiLFxuICAgIHR1cnF1b2lzZTogXCI0MGUwZDBcIixcbiAgICB2aW9sZXQ6IFwiZWU4MmVlXCIsXG4gICAgd2hlYXQ6IFwiZjVkZWIzXCIsXG4gICAgd2hpdGU6IFwiZmZmXCIsXG4gICAgd2hpdGVzbW9rZTogXCJmNWY1ZjVcIixcbiAgICB5ZWxsb3c6IFwiZmYwXCIsXG4gICAgeWVsbG93Z3JlZW46IFwiOWFjZDMyXCJcbn07XG5cbi8vIE1ha2UgaXQgZWFzeSB0byBhY2Nlc3MgY29sb3JzIHZpYSBoZXhOYW1lc1toZXhdXG52YXIgaGV4TmFtZXMgPSB0aW55Y29sb3IuaGV4TmFtZXMgPSBmbGlwKG5hbWVzKTtcblxuLy8gVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS1cblxuLy8geyAnbmFtZTEnOiAndmFsMScgfSBiZWNvbWVzIHsgJ3ZhbDEnOiAnbmFtZTEnIH1cbmZ1bmN0aW9uIGZsaXAobykge1xuICAgIHZhciBmbGlwcGVkID0geyB9O1xuICAgIGZvciAodmFyIGkgaW4gbykge1xuICAgICAgICBpZiAoby5oYXNPd25Qcm9wZXJ0eShpKSkge1xuICAgICAgICAgICAgZmxpcHBlZFtvW2ldXSA9IGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZsaXBwZWQ7XG59XG5cbi8vIFJldHVybiBhIHZhbGlkIGFscGhhIHZhbHVlIFswLDFdIHdpdGggYWxsIGludmFsaWQgdmFsdWVzIGJlaW5nIHNldCB0byAxXG5mdW5jdGlvbiBib3VuZEFscGhhKGEpIHtcbiAgICBhID0gcGFyc2VGbG9hdChhKTtcblxuICAgIGlmIChpc05hTihhKSB8fCBhIDwgMCB8fCBhID4gMSkge1xuICAgICAgICBhID0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gYTtcbn1cblxuLy8gVGFrZSBpbnB1dCBmcm9tIFswLCBuXSBhbmQgcmV0dXJuIGl0IGFzIFswLCAxXVxuZnVuY3Rpb24gYm91bmQwMShuLCBtYXgpIHtcbiAgICBpZiAoaXNPbmVQb2ludFplcm8obikpIHsgbiA9IFwiMTAwJVwiOyB9XG5cbiAgICB2YXIgcHJvY2Vzc1BlcmNlbnQgPSBpc1BlcmNlbnRhZ2Uobik7XG4gICAgbiA9IG1hdGhNaW4obWF4LCBtYXRoTWF4KDAsIHBhcnNlRmxvYXQobikpKTtcblxuICAgIC8vIEF1dG9tYXRpY2FsbHkgY29udmVydCBwZXJjZW50YWdlIGludG8gbnVtYmVyXG4gICAgaWYgKHByb2Nlc3NQZXJjZW50KSB7XG4gICAgICAgIG4gPSBwYXJzZUludChuICogbWF4LCAxMCkgLyAxMDA7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIGZsb2F0aW5nIHBvaW50IHJvdW5kaW5nIGVycm9yc1xuICAgIGlmICgoTWF0aC5hYnMobiAtIG1heCkgPCAwLjAwMDAwMSkpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgLy8gQ29udmVydCBpbnRvIFswLCAxXSByYW5nZSBpZiBpdCBpc24ndCBhbHJlYWR5XG4gICAgcmV0dXJuIChuICUgbWF4KSAvIHBhcnNlRmxvYXQobWF4KTtcbn1cblxuLy8gRm9yY2UgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxXG5mdW5jdGlvbiBjbGFtcDAxKHZhbCkge1xuICAgIHJldHVybiBtYXRoTWluKDEsIG1hdGhNYXgoMCwgdmFsKSk7XG59XG5cbi8vIFBhcnNlIGEgYmFzZS0xNiBoZXggdmFsdWUgaW50byBhIGJhc2UtMTAgaW50ZWdlclxuZnVuY3Rpb24gcGFyc2VJbnRGcm9tSGV4KHZhbCkge1xuICAgIHJldHVybiBwYXJzZUludCh2YWwsIDE2KTtcbn1cblxuLy8gTmVlZCB0byBoYW5kbGUgMS4wIGFzIDEwMCUsIHNpbmNlIG9uY2UgaXQgaXMgYSBudW1iZXIsIHRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBpdCBhbmQgMVxuLy8gPGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNzQyMjA3Mi9qYXZhc2NyaXB0LWhvdy10by1kZXRlY3QtbnVtYmVyLWFzLWEtZGVjaW1hbC1pbmNsdWRpbmctMS0wPlxuZnVuY3Rpb24gaXNPbmVQb2ludFplcm8obikge1xuICAgIHJldHVybiB0eXBlb2YgbiA9PSBcInN0cmluZ1wiICYmIG4uaW5kZXhPZignLicpICE9IC0xICYmIHBhcnNlRmxvYXQobikgPT09IDE7XG59XG5cbi8vIENoZWNrIHRvIHNlZSBpZiBzdHJpbmcgcGFzc2VkIGluIGlzIGEgcGVyY2VudGFnZVxuZnVuY3Rpb24gaXNQZXJjZW50YWdlKG4pIHtcbiAgICByZXR1cm4gdHlwZW9mIG4gPT09IFwic3RyaW5nXCIgJiYgbi5pbmRleE9mKCclJykgIT0gLTE7XG59XG5cbi8vIEZvcmNlIGEgaGV4IHZhbHVlIHRvIGhhdmUgMiBjaGFyYWN0ZXJzXG5mdW5jdGlvbiBwYWQyKGMpIHtcbiAgICByZXR1cm4gYy5sZW5ndGggPT0gMSA/ICcwJyArIGMgOiAnJyArIGM7XG59XG5cbi8vIFJlcGxhY2UgYSBkZWNpbWFsIHdpdGggaXQncyBwZXJjZW50YWdlIHZhbHVlXG5mdW5jdGlvbiBjb252ZXJ0VG9QZXJjZW50YWdlKG4pIHtcbiAgICBpZiAobiA8PSAxKSB7XG4gICAgICAgIG4gPSAobiAqIDEwMCkgKyBcIiVcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gbjtcbn1cblxuLy8gQ29udmVydHMgYSBkZWNpbWFsIHRvIGEgaGV4IHZhbHVlXG5mdW5jdGlvbiBjb252ZXJ0RGVjaW1hbFRvSGV4KGQpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGQpICogMjU1KS50b1N0cmluZygxNik7XG59XG4vLyBDb252ZXJ0cyBhIGhleCB2YWx1ZSB0byBhIGRlY2ltYWxcbmZ1bmN0aW9uIGNvbnZlcnRIZXhUb0RlY2ltYWwoaCkge1xuICAgIHJldHVybiAocGFyc2VJbnRGcm9tSGV4KGgpIC8gMjU1KTtcbn1cblxudmFyIG1hdGNoZXJzID0gKGZ1bmN0aW9uKCkge1xuXG4gICAgLy8gPGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdmFsdWVzLyNpbnRlZ2Vycz5cbiAgICB2YXIgQ1NTX0lOVEVHRVIgPSBcIlstXFxcXCtdP1xcXFxkKyU/XCI7XG5cbiAgICAvLyA8aHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12YWx1ZXMvI251bWJlci12YWx1ZT5cbiAgICB2YXIgQ1NTX05VTUJFUiA9IFwiWy1cXFxcK10/XFxcXGQqXFxcXC5cXFxcZCslP1wiO1xuXG4gICAgLy8gQWxsb3cgcG9zaXRpdmUvbmVnYXRpdmUgaW50ZWdlci9udW1iZXIuICBEb24ndCBjYXB0dXJlIHRoZSBlaXRoZXIvb3IsIGp1c3QgdGhlIGVudGlyZSBvdXRjb21lLlxuICAgIHZhciBDU1NfVU5JVCA9IFwiKD86XCIgKyBDU1NfTlVNQkVSICsgXCIpfCg/OlwiICsgQ1NTX0lOVEVHRVIgKyBcIilcIjtcblxuICAgIC8vIEFjdHVhbCBtYXRjaGluZy5cbiAgICAvLyBQYXJlbnRoZXNlcyBhbmQgY29tbWFzIGFyZSBvcHRpb25hbCwgYnV0IG5vdCByZXF1aXJlZC5cbiAgICAvLyBXaGl0ZXNwYWNlIGNhbiB0YWtlIHRoZSBwbGFjZSBvZiBjb21tYXMgb3Igb3BlbmluZyBwYXJlblxuICAgIHZhciBQRVJNSVNTSVZFX01BVENIMyA9IFwiW1xcXFxzfFxcXFwoXSsoXCIgKyBDU1NfVU5JVCArIFwiKVssfFxcXFxzXSsoXCIgKyBDU1NfVU5JVCArIFwiKVssfFxcXFxzXSsoXCIgKyBDU1NfVU5JVCArIFwiKVxcXFxzKlxcXFwpP1wiO1xuICAgIHZhciBQRVJNSVNTSVZFX01BVENINCA9IFwiW1xcXFxzfFxcXFwoXSsoXCIgKyBDU1NfVU5JVCArIFwiKVssfFxcXFxzXSsoXCIgKyBDU1NfVU5JVCArIFwiKVssfFxcXFxzXSsoXCIgKyBDU1NfVU5JVCArIFwiKVssfFxcXFxzXSsoXCIgKyBDU1NfVU5JVCArIFwiKVxcXFxzKlxcXFwpP1wiO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgQ1NTX1VOSVQ6IG5ldyBSZWdFeHAoQ1NTX1VOSVQpLFxuICAgICAgICByZ2I6IG5ldyBSZWdFeHAoXCJyZ2JcIiArIFBFUk1JU1NJVkVfTUFUQ0gzKSxcbiAgICAgICAgcmdiYTogbmV3IFJlZ0V4cChcInJnYmFcIiArIFBFUk1JU1NJVkVfTUFUQ0g0KSxcbiAgICAgICAgaHNsOiBuZXcgUmVnRXhwKFwiaHNsXCIgKyBQRVJNSVNTSVZFX01BVENIMyksXG4gICAgICAgIGhzbGE6IG5ldyBSZWdFeHAoXCJoc2xhXCIgKyBQRVJNSVNTSVZFX01BVENINCksXG4gICAgICAgIGhzdjogbmV3IFJlZ0V4cChcImhzdlwiICsgUEVSTUlTU0lWRV9NQVRDSDMpLFxuICAgICAgICBoc3ZhOiBuZXcgUmVnRXhwKFwiaHN2YVwiICsgUEVSTUlTU0lWRV9NQVRDSDQpLFxuICAgICAgICBoZXgzOiAvXiM/KFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8sXG4gICAgICAgIGhleDY6IC9eIz8oWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxcbiAgICAgICAgaGV4NDogL14jPyhbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkkLyxcbiAgICAgICAgaGV4ODogL14jPyhbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkL1xuICAgIH07XG59KSgpO1xuXG4vLyBpc1ZhbGlkQ1NTVW5pdFxuLy8gVGFrZSBpbiBhIHNpbmdsZSBzdHJpbmcgLyBudW1iZXIgYW5kIGNoZWNrIHRvIHNlZSBpZiBpdCBsb29rcyBsaWtlIGEgQ1NTIHVuaXRcbi8vIChzZWUgbWF0Y2hlcnMgYWJvdmUgZm9yIGRlZmluaXRpb24pLlxuZnVuY3Rpb24gaXNWYWxpZENTU1VuaXQoY29sb3IpIHtcbiAgICByZXR1cm4gISFtYXRjaGVycy5DU1NfVU5JVC5leGVjKGNvbG9yKTtcbn1cblxuLy8gc3RyaW5nSW5wdXRUb09iamVjdFxuLy8gUGVybWlzc2l2ZSBzdHJpbmcgcGFyc2luZy4gIFRha2UgaW4gYSBudW1iZXIgb2YgZm9ybWF0cywgYW5kIG91dHB1dCBhbiBvYmplY3Rcbi8vIGJhc2VkIG9uIGRldGVjdGVkIGZvcm1hdC4gIFJldHVybnMgeyByLCBnLCBiIH0gb3IgeyBoLCBzLCBsIH0gb3IgeyBoLCBzLCB2fVxuZnVuY3Rpb24gc3RyaW5nSW5wdXRUb09iamVjdChjb2xvcikge1xuXG4gICAgY29sb3IgPSBjb2xvci5yZXBsYWNlKHRyaW1MZWZ0LCAnJykucmVwbGFjZSh0cmltUmlnaHQsICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgIHZhciBuYW1lZCA9IGZhbHNlO1xuICAgIGlmIChuYW1lc1tjb2xvcl0pIHtcbiAgICAgICAgY29sb3IgPSBuYW1lc1tjb2xvcl07XG4gICAgICAgIG5hbWVkID0gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSBpZiAoY29sb3IgPT0gJ3RyYW5zcGFyZW50Jykge1xuICAgICAgICByZXR1cm4geyByOiAwLCBnOiAwLCBiOiAwLCBhOiAwLCBmb3JtYXQ6IFwibmFtZVwiIH07XG4gICAgfVxuXG4gICAgLy8gVHJ5IHRvIG1hdGNoIHN0cmluZyBpbnB1dCB1c2luZyByZWd1bGFyIGV4cHJlc3Npb25zLlxuICAgIC8vIEtlZXAgbW9zdCBvZiB0aGUgbnVtYmVyIGJvdW5kaW5nIG91dCBvZiB0aGlzIGZ1bmN0aW9uIC0gZG9uJ3Qgd29ycnkgYWJvdXQgWzAsMV0gb3IgWzAsMTAwXSBvciBbMCwzNjBdXG4gICAgLy8gSnVzdCByZXR1cm4gYW4gb2JqZWN0IGFuZCBsZXQgdGhlIGNvbnZlcnNpb24gZnVuY3Rpb25zIGhhbmRsZSB0aGF0LlxuICAgIC8vIFRoaXMgd2F5IHRoZSByZXN1bHQgd2lsbCBiZSB0aGUgc2FtZSB3aGV0aGVyIHRoZSB0aW55Y29sb3IgaXMgaW5pdGlhbGl6ZWQgd2l0aCBzdHJpbmcgb3Igb2JqZWN0LlxuICAgIHZhciBtYXRjaDtcbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMucmdiLmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4geyByOiBtYXRjaFsxXSwgZzogbWF0Y2hbMl0sIGI6IG1hdGNoWzNdIH07XG4gICAgfVxuICAgIGlmICgobWF0Y2ggPSBtYXRjaGVycy5yZ2JhLmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4geyByOiBtYXRjaFsxXSwgZzogbWF0Y2hbMl0sIGI6IG1hdGNoWzNdLCBhOiBtYXRjaFs0XSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaHNsLmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4geyBoOiBtYXRjaFsxXSwgczogbWF0Y2hbMl0sIGw6IG1hdGNoWzNdIH07XG4gICAgfVxuICAgIGlmICgobWF0Y2ggPSBtYXRjaGVycy5oc2xhLmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4geyBoOiBtYXRjaFsxXSwgczogbWF0Y2hbMl0sIGw6IG1hdGNoWzNdLCBhOiBtYXRjaFs0XSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaHN2LmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4geyBoOiBtYXRjaFsxXSwgczogbWF0Y2hbMl0sIHY6IG1hdGNoWzNdIH07XG4gICAgfVxuICAgIGlmICgobWF0Y2ggPSBtYXRjaGVycy5oc3ZhLmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4geyBoOiBtYXRjaFsxXSwgczogbWF0Y2hbMl0sIHY6IG1hdGNoWzNdLCBhOiBtYXRjaFs0XSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaGV4OC5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHI6IHBhcnNlSW50RnJvbUhleChtYXRjaFsxXSksXG4gICAgICAgICAgICBnOiBwYXJzZUludEZyb21IZXgobWF0Y2hbMl0pLFxuICAgICAgICAgICAgYjogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzNdKSxcbiAgICAgICAgICAgIGE6IGNvbnZlcnRIZXhUb0RlY2ltYWwobWF0Y2hbNF0pLFxuICAgICAgICAgICAgZm9ybWF0OiBuYW1lZCA/IFwibmFtZVwiIDogXCJoZXg4XCJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLmhleDYuZXhlYyhjb2xvcikpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByOiBwYXJzZUludEZyb21IZXgobWF0Y2hbMV0pLFxuICAgICAgICAgICAgZzogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzJdKSxcbiAgICAgICAgICAgIGI6IHBhcnNlSW50RnJvbUhleChtYXRjaFszXSksXG4gICAgICAgICAgICBmb3JtYXQ6IG5hbWVkID8gXCJuYW1lXCIgOiBcImhleFwiXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmICgobWF0Y2ggPSBtYXRjaGVycy5oZXg0LmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcjogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzFdICsgJycgKyBtYXRjaFsxXSksXG4gICAgICAgICAgICBnOiBwYXJzZUludEZyb21IZXgobWF0Y2hbMl0gKyAnJyArIG1hdGNoWzJdKSxcbiAgICAgICAgICAgIGI6IHBhcnNlSW50RnJvbUhleChtYXRjaFszXSArICcnICsgbWF0Y2hbM10pLFxuICAgICAgICAgICAgYTogY29udmVydEhleFRvRGVjaW1hbChtYXRjaFs0XSArICcnICsgbWF0Y2hbNF0pLFxuICAgICAgICAgICAgZm9ybWF0OiBuYW1lZCA/IFwibmFtZVwiIDogXCJoZXg4XCJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLmhleDMuZXhlYyhjb2xvcikpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByOiBwYXJzZUludEZyb21IZXgobWF0Y2hbMV0gKyAnJyArIG1hdGNoWzFdKSxcbiAgICAgICAgICAgIGc6IHBhcnNlSW50RnJvbUhleChtYXRjaFsyXSArICcnICsgbWF0Y2hbMl0pLFxuICAgICAgICAgICAgYjogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzNdICsgJycgKyBtYXRjaFszXSksXG4gICAgICAgICAgICBmb3JtYXQ6IG5hbWVkID8gXCJuYW1lXCIgOiBcImhleFwiXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVdDQUcyUGFybXMocGFybXMpIHtcbiAgICAvLyByZXR1cm4gdmFsaWQgV0NBRzIgcGFybXMgZm9yIGlzUmVhZGFibGUuXG4gICAgLy8gSWYgaW5wdXQgcGFybXMgYXJlIGludmFsaWQsIHJldHVybiB7XCJsZXZlbFwiOlwiQUFcIiwgXCJzaXplXCI6XCJzbWFsbFwifVxuICAgIHZhciBsZXZlbCwgc2l6ZTtcbiAgICBwYXJtcyA9IHBhcm1zIHx8IHtcImxldmVsXCI6XCJBQVwiLCBcInNpemVcIjpcInNtYWxsXCJ9O1xuICAgIGxldmVsID0gKHBhcm1zLmxldmVsIHx8IFwiQUFcIikudG9VcHBlckNhc2UoKTtcbiAgICBzaXplID0gKHBhcm1zLnNpemUgfHwgXCJzbWFsbFwiKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChsZXZlbCAhPT0gXCJBQVwiICYmIGxldmVsICE9PSBcIkFBQVwiKSB7XG4gICAgICAgIGxldmVsID0gXCJBQVwiO1xuICAgIH1cbiAgICBpZiAoc2l6ZSAhPT0gXCJzbWFsbFwiICYmIHNpemUgIT09IFwibGFyZ2VcIikge1xuICAgICAgICBzaXplID0gXCJzbWFsbFwiO1xuICAgIH1cbiAgICByZXR1cm4ge1wibGV2ZWxcIjpsZXZlbCwgXCJzaXplXCI6c2l6ZX07XG59XG5cbnRoaXMudGlueWNvbG9yID0gdGlueWNvbG9yO1xuXG59KSgpYDtcbn1cbi8vIEl0IGlzIGhhY2t5IHdheSB0byBtYWtlIHRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjb21waWxlZCBwcmVmZXJlbnRpYWxseSBieSBsZXNzXG4vLyByZXNvbHZlIGVycm9yOiBgUmVmZXJlbmNlRXJyb3I6IGNvbG9yUGFsZXR0ZSBpcyBub3QgZGVmaW5lZGBcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1tb3Rpb24vaXNzdWVzLzQ0XG4udGlueUNvbG9yTWl4aW4oKTtcbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuLnNpemUoQHdpZHRoOyBAaGVpZ2h0KSB7XG4gIHdpZHRoOiBAd2lkdGg7XG4gIGhlaWdodDogQGhlaWdodDtcbn1cblxuLnNxdWFyZShAc2l6ZSkge1xuICAuc2l6ZShAc2l6ZTsgQHNpemUpO1xufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby11bmtub3duICovXG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuLy8gSFRNTCAmIEJvZHkgcmVzZXRcbkB7aHRtbC1zZWxlY3Rvcn0sXG5ib2R5IHtcbiAgLnNxdWFyZSgxMDAlKTtcbn1cblxuLy8gcmVtb3ZlIHRoZSBjbGVhciBidXR0b24gb2YgYSB0ZXh0IGlucHV0IGNvbnRyb2wgaW4gSUUxMCtcbmlucHV0OjotbXMtY2xlYXIsXG5pbnB1dDo6LW1zLXJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIFNldHRpbmcgQHZpZXdwb3J0IGNhdXNlcyBzY3JvbGxiYXJzIHRvIG92ZXJsYXAgY29udGVudCBpbiBJRTExIGFuZCBFZGdlLCBzb1xuLy8gICAgd2UgZm9yY2UgYSBub24tb3ZlcmxhcHBpbmcsIG5vbi1hdXRvLWhpZGluZyBzY3JvbGxiYXIgdG8gY291bnRlcmFjdC5cbi8vIDYuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbkB7aHRtbC1zZWxlY3Rvcn0ge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7IC8vIDVcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiBmYWRlKEBibGFjaywgMCUpOyAvLyA2XG59XG5cbi8vIElFMTArIGRvZXNuJ3QgaG9ub3IgYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPmAgaW4gc29tZSBjYXNlcy5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gcmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJvZHktYmFja2dyb3VuZGAuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseTtcbiAgZm9udC12YXJpYW50OiBAZm9udC12YXJpYW50LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmFja2dyb3VuZDsgLy8gMlxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IEBmb250LWZlYXR1cmUtc2V0dGluZ3MtYmFzZTtcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PSctMSddOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gcmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIGNvbG9yOiBAaGVhZGluZy1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYGVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gcmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmlucHV0W3R5cGU9J3RleHQnXSxcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbnRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy1cbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBAbGluay1kZWNvcmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8vIHJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogQGxpbmstaG92ZXItY29sb3I7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IEBsaW5rLWFjdGl2ZS1jb2xvcjtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IEBsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzIyNTAzXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogQGxpbmstZm9jdXMtZGVjb3JhdGlvbjtcbiAgICBvdXRsaW5lOiBAbGluay1mb2N1cy1vdXRsaW5lO1xuICB9XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LXNpemU6IDFlbTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICBmb250LWZhbWlseTogQGNvZGUtZmFtaWx5O1xufVxuXG5wcmUge1xuICAvLyByZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyByZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRVxufVxuXG4vLyBBdm9pZCAzMDBtcyBjbGljayBkZWxheSBvbiB0b3VjaCBkZXZpY2VzIHRoYXQgc3VwcG9ydCB0aGUgYHRvdWNoLWFjdGlvbmAgQ1NTIHByb3BlcnR5LlxuLy9cbi8vIEluIHBhcnRpY3VsYXIsIHVubGlrZSBtb3N0IG90aGVyIGJyb3dzZXJzLCBJRTExK0VkZ2Ugb24gV2luZG93cyAxMCBvbiB0b3VjaCBkZXZpY2VzIGFuZCBJRSBNb2JpbGUgMTAtMTFcbi8vIERPTidUIHJlbW92ZSB0aGUgY2xpY2sgZGVsYXkgd2hlbiBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aFwiPmAgaXMgcHJlc2VudC5cbi8vIEhvd2V2ZXIsIHRoZXkgRE8gc3VwcG9ydCBlbW92aW5nIHRoZSBjbGljayBkZWxheSB2aWEgYHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uYC5cbi8vIFNlZTpcbi8vICogaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2RvY3MvNC4wL2NvbnRlbnQvcmVib290LyNjbGljay1kZWxheS1vcHRpbWl6YXRpb24tZm9yLXRvdWNoXG4vLyAqIGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtdG91Y2gtYWN0aW9uXG4vLyAqIGh0dHBzOi8vcGF0cmlja2hsYXVrZS5naXRodWIuaW8vdG91Y2gvdGVzdHMvcmVzdWx0cy8jc3VwcHJlc3NpbmctMzAwbXMtZGVsYXlcblxuYSxcbmFyZWEsXG5idXR0b24sXG5bcm9sZT0nYnV0dG9uJ10sXG5pbnB1dDpub3QoW3R5cGU9J3JhbmdlJ10pLFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMC43NWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zZW07XG4gIGNvbG9yOiBAdGV4dC1jb2xvci1zZWNvbmRhcnk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIHJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIHJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5Ae2h0bWwtc2VsZWN0b3J9IFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyByZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0nYnV0dG9uJ106Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0ncmVzZXQnXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdzdWJtaXQnXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXSxcbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gcmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5pbnB1dFt0eXBlPSdkYXRlJ10sXG5pbnB1dFt0eXBlPSd0aW1lJ10sXG5pbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuaW5wdXRbdHlwZT0nbW9udGgnXSB7XG4gIC8vIHJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcbiAgLy8gYnVnIHdoZXJlIHNldHRpbmcgYSBjdXN0b20gbGluZS1oZWlnaHQgcHJldmVudHMgdGV4dCBmcm9tIGJlaW5nIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVyZWQgd2l0aGluIHRoZSBpbnB1dC5cbiAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbiAgLy8gYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNjZcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyByZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbjogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICBmb250LXNpemU6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY2VtZW50IGFuZCBkZWNlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9J3NlYXJjaCddIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIHJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxubWFyayB7XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93LTE7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yLWludmVyc2U7XG4gIGJhY2tncm91bmQ6IEB0ZXh0LXNlbGVjdGlvbi1iZztcbn1cblxuLy8gVXRpbGl0eSBjbGFzc2VzXG4uY2xlYXJmaXgge1xuICAuY2xlYXJmaXgoKTtcbn1cbiIsIi8vIG1peGlucyBmb3IgY2xlYXJmaXhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNsZWFyZml4KCkge1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8yMTMwMSNpc3N1ZWNvbW1lbnQtNTgzOTU1MjI5XG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyc7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzIxODY0XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cbiIsIi5pY29uZm9udC1taXhpbigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogQGljb24tY29sb3I7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTsgLy8gZm9yIFNWRyBpY29uLCBzZWUgaHR0cHM6Ly9ibG9nLnByb3RvdHlwci5pby9hbGlnbi1zdmctaWNvbnMtdG8tdGV4dC1hbmQtc2F5LWdvb2RieWUtdG8tZm9udC1pY29ucy1kNDRiM2Q3YjI2YjRcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgPiAqIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyAvLyBkb250IGRpc3BsYXkgb2xkIGljb24uXG4gIH1cblxuICAmICYtaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi9taXhpbnMvaWNvbmZvbnQnO1xuXG4uQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gIC5pY29uZm9udC1taXhpbigpO1xuXG4gICZbdGFiaW5kZXhdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0tc3Bpbjo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbmltYXRpb246IGxvYWRpbmdDaXJjbGUgMXMgaW5maW5pdGUgbGluZWFyO1xufVxuLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0tc3BpbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYW5pbWF0aW9uOiBsb2FkaW5nQ2lyY2xlIDFzIGluZmluaXRlIGxpbmVhcjtcbn1cbiIsIkBpbXBvcnQgJy4uL3RoZW1lcy9pbmRleCc7XG5cbi5tb3Rpb24tY29tbW9uKEBkdXJhdGlvbjogQGFuaW1hdGlvbi1kdXJhdGlvbi1iYXNlKSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4ubW90aW9uLWNvbW1vbi1sZWF2ZShAZHVyYXRpb246IEBhbmltYXRpb24tZHVyYXRpb24tYmFzZSkge1xuICBhbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLm1ha2UtbW90aW9uKEBjbGFzc05hbWUsIEBrZXlmcmFtZU5hbWUsIEBkdXJhdGlvbjogQGFuaW1hdGlvbi1kdXJhdGlvbi1iYXNlKSB7XG4gIC5Ae2NsYXNzTmFtZX0tZW50ZXIsXG4gIC5Ae2NsYXNzTmFtZX0tYXBwZWFyIHtcbiAgICAubW90aW9uLWNvbW1vbihAZHVyYXRpb24pO1xuXG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxuICAuQHtjbGFzc05hbWV9LWxlYXZlIHtcbiAgICAubW90aW9uLWNvbW1vbi1sZWF2ZShAZHVyYXRpb24pO1xuXG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxuICAuQHtjbGFzc05hbWV9LWVudGVyLkB7Y2xhc3NOYW1lfS1lbnRlci1hY3RpdmUsXG4gIC5Ae2NsYXNzTmFtZX0tYXBwZWFyLkB7Y2xhc3NOYW1lfS1hcHBlYXItYWN0aXZlIHtcbiAgICBhbmltYXRpb24tbmFtZTogfidAe2tleWZyYW1lTmFtZX1Jbic7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gIH1cbiAgLkB7Y2xhc3NOYW1lfS1sZWF2ZS5Ae2NsYXNzTmFtZX0tbGVhdmUtYWN0aXZlIHtcbiAgICBhbmltYXRpb24tbmFtZTogfidAe2tleWZyYW1lTmFtZX1PdXQnO1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4iLCIuZmFkZS1tb3Rpb24oQGNsYXNzTmFtZSwgQGtleWZyYW1lTmFtZSkge1xuICAubWFrZS1tb3Rpb24oQGNsYXNzTmFtZSwgQGtleWZyYW1lTmFtZSk7XG4gIC5Ae2NsYXNzTmFtZX0tZW50ZXIsXG4gIC5Ae2NsYXNzTmFtZX0tYXBwZWFyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgfVxuICAuQHtjbGFzc05hbWV9LWxlYXZlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIH1cbn1cblxuLmZhZGUtbW90aW9uKGZhZGUsIGFudEZhZGUpO1xuXG5Aa2V5ZnJhbWVzIGFudEZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRGYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiLm1vdmUtbW90aW9uKEBjbGFzc05hbWUsIEBrZXlmcmFtZU5hbWUpIHtcbiAgLm1ha2UtbW90aW9uKEBjbGFzc05hbWUsIEBrZXlmcmFtZU5hbWUpO1xuICAuQHtjbGFzc05hbWV9LWVudGVyLFxuICAuQHtjbGFzc05hbWV9LWFwcGVhciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAZWFzZS1vdXQtY2lyYztcbiAgfVxuICAuQHtjbGFzc05hbWV9LWxlYXZlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAZWFzZS1pbi1jaXJjO1xuICB9XG59XG5cbi5tb3ZlLW1vdGlvbihtb3ZlLXVwLCBhbnRNb3ZlVXApO1xuLm1vdmUtbW90aW9uKG1vdmUtZG93biwgYW50TW92ZURvd24pO1xuLm1vdmUtbW90aW9uKG1vdmUtbGVmdCwgYW50TW92ZUxlZnQpO1xuLm1vdmUtbW90aW9uKG1vdmUtcmlnaHQsIGFudE1vdmVSaWdodCk7XG5cbkBrZXlmcmFtZXMgYW50TW92ZURvd25JbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudE1vdmVEb3duT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50TW92ZUxlZnRJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRNb3ZlTGVmdE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRNb3ZlUmlnaHRJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudE1vdmVSaWdodE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudE1vdmVVcEluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudE1vdmVVcE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgbG9hZGluZ0NpcmNsZSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGNsaWNrLWFuaW1hdGluZy10cnVlOiB+XCJbQHthbnQtcHJlZml4fS1jbGljay1hbmltYXRpbmc9J3RydWUnXVwiO1xuQGNsaWNrLWFuaW1hdGluZy13aXRoLWV4dHJhLW5vZGUtdHJ1ZTogflwiW0B7YW50LXByZWZpeH0tY2xpY2stYW5pbWF0aW5nLXdpdGhvdXQtZXh0cmEtbm9kZT0ndHJ1ZSddXCI7XG5cbkB7Y2xpY2stYW5pbWF0aW5nLXRydWV9LFxuQHtjbGljay1hbmltYXRpbmctd2l0aC1leHRyYS1ub2RlLXRydWV9IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5odG1sIHtcbiAgLS1hbnRkLXdhdmUtc2hhZG93LWNvbG9yOiBAcHJpbWFyeS1jb2xvcjtcbiAgLS1zY3JvbGwtYmFyOiAwO1xufVxuXG5AY2xpY2stYW5pbWF0aW5nLXdpdGgtZXh0cmEtbm9kZS10cnVlLWFmdGVyOiB+J0B7Y2xpY2stYW5pbWF0aW5nLXdpdGgtZXh0cmEtbm9kZS10cnVlfTo6YWZ0ZXInO1xuXG5Ae2NsaWNrLWFuaW1hdGluZy13aXRoLWV4dHJhLW5vZGUtdHJ1ZS1hZnRlcn0sXG4uQHthbnQtcHJlZml4fS1jbGljay1hbmltYXRpbmctbm9kZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCBAcHJpbWFyeS1jb2xvcjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCB2YXIoLS1hbnRkLXdhdmUtc2hhZG93LWNvbG9yKTtcbiAgb3BhY2l0eTogMC4yO1xuICBhbmltYXRpb246IGZhZGVFZmZlY3QgMnMgQGVhc2Utb3V0LWNpcmMsIHdhdmVFZmZlY3QgMC40cyBAZWFzZS1vdXQtY2lyYztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQGtleWZyYW1lcyB3YXZlRWZmZWN0IHtcbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgQHByaW1hcnktY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgQHdhdmUtYW5pbWF0aW9uLXdpZHRoIHZhcigtLWFudGQtd2F2ZS1zaGFkb3ctY29sb3IpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUVmZmVjdCB7XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi5zbGlkZS1tb3Rpb24oQGNsYXNzTmFtZSwgQGtleWZyYW1lTmFtZSkge1xuICAubWFrZS1tb3Rpb24oQGNsYXNzTmFtZSwgQGtleWZyYW1lTmFtZSk7XG4gIC5Ae2NsYXNzTmFtZX0tZW50ZXIsXG4gIC5Ae2NsYXNzTmFtZX0tYXBwZWFyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEBlYXNlLW91dC1xdWludDtcbiAgfVxuICAuQHtjbGFzc05hbWV9LWxlYXZlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAZWFzZS1pbi1xdWludDtcbiAgfVxufVxuXG4uc2xpZGUtbW90aW9uKHNsaWRlLXVwLCBhbnRTbGlkZVVwKTtcbi5zbGlkZS1tb3Rpb24oc2xpZGUtZG93biwgYW50U2xpZGVEb3duKTtcbi5zbGlkZS1tb3Rpb24oc2xpZGUtbGVmdCwgYW50U2xpZGVMZWZ0KTtcbi5zbGlkZS1tb3Rpb24oc2xpZGUtcmlnaHQsIGFudFNsaWRlUmlnaHQpO1xuXG5Aa2V5ZnJhbWVzIGFudFNsaWRlVXBJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFNsaWRlVXBPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRTbGlkZURvd25JbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50U2xpZGVEb3duT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRTbGlkZUxlZnRJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFNsaWRlTGVmdE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFNsaWRlUmlnaHRJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRTbGlkZVJpZ2h0T3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiLnpvb20tbW90aW9uKEBjbGFzc05hbWUsIEBrZXlmcmFtZU5hbWUsIEBkdXJhdGlvbjogQGFuaW1hdGlvbi1kdXJhdGlvbi1iYXNlKSB7XG4gIC5tYWtlLW1vdGlvbihAY2xhc3NOYW1lLCBAa2V5ZnJhbWVOYW1lLCBAZHVyYXRpb24pO1xuICAuQHtjbGFzc05hbWV9LWVudGVyLFxuICAuQHtjbGFzc05hbWV9LWFwcGVhciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgLy8gbmVlZCB0aGlzIGJ5IHlpbWluZ2hlXG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAZWFzZS1vdXQtY2lyYztcblxuICAgICYtcHJlcGFyZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG4gIC5Ae2NsYXNzTmFtZX0tbGVhdmUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEBlYXNlLWluLW91dC1jaXJjO1xuICB9XG59XG5cbi8vIEZvciBNb2RhbCwgU2VsZWN0IGNob29zZW4gaXRlbVxuLnpvb20tbW90aW9uKHpvb20sIGFudFpvb20pO1xuLy8gRm9yIFBvcG92ZXIsIFBvcGNvbmZpcm0sIERyb3Bkb3duXG4uem9vbS1tb3Rpb24oem9vbS1iaWcsIGFudFpvb21CaWcpO1xuLy8gRm9yIFRvb2x0aXBcbi56b29tLW1vdGlvbih6b29tLWJpZy1mYXN0LCBhbnRab29tQmlnLCBAYW5pbWF0aW9uLWR1cmF0aW9uLWZhc3QpO1xuXG4uem9vbS1tb3Rpb24oem9vbS11cCwgYW50Wm9vbVVwKTtcbi56b29tLW1vdGlvbih6b29tLWRvd24sIGFudFpvb21Eb3duKTtcbi56b29tLW1vdGlvbih6b29tLWxlZnQsIGFudFpvb21MZWZ0KTtcbi56b29tLW1vdGlvbih6b29tLXJpZ2h0LCBhbnRab29tUmlnaHQpO1xuXG5Aa2V5ZnJhbWVzIGFudFpvb21JbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRab29tT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRab29tQmlnSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbUJpZ091dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbVVwSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbVVwT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21MZWZ0SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbUxlZnRPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbVJpZ2h0SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21SaWdodE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbURvd25JbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbURvd25PdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vbWl4aW5zL21vdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24vZmFkZSc7XG5AaW1wb3J0ICdtb3Rpb24vbW92ZSc7XG5AaW1wb3J0ICdtb3Rpb24vb3RoZXInO1xuQGltcG9ydCAnbW90aW9uL3NsaWRlJztcbkBpbXBvcnQgJ21vdGlvbi96b29tJztcblxuLy8gRm9yIGNvbW1vbi9vcGVuQW5pbWF0aW9uXG4uYW50LW1vdGlvbi1jb2xsYXBzZS1sZWdhY3kge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmLWFjdGl2ZSB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IEBhbmltYXRpb24tZHVyYXRpb24tYmFzZSBAZWFzZS1pbi1vdXQsXG4gICAgICBvcGFjaXR5IEBhbmltYXRpb24tZHVyYXRpb24tYmFzZSBAZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYW50LW1vdGlvbi1jb2xsYXBzZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCBAYW5pbWF0aW9uLWR1cmF0aW9uLWJhc2UgQGVhc2UtaW4tb3V0LFxuICAgIG9wYWNpdHkgQGFuaW1hdGlvbi1kdXJhdGlvbi1iYXNlIEBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xufVxuIiwiQGltcG9ydCAnLi90aGVtZXMvZGVmYXVsdC5sZXNzJztcblxuLy8gY2RrIG92ZXJsYXlcbi5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5jZGstdmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIG91dGxpbmU6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGN1YmljLWJlemllciguMjUsIC44LCAuMjUsIDEpO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gICYuYW50LW1vZGFsLW1hc2sge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNkay1vdmVybGF5LXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwOyAvLyBHaXZlIGFuIG9wcG9ydHVuaXR5IHRvIHRoZSBjb250ZW50IG93biB0byBtYW5hZ2UgdGhlaXIgei1pbmRleCBzdWNoIGFzIE1vZGFsXG59XG5cbi5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDFweDtcbiAgbWluLWhlaWdodDogMXB4O1xufVxuXG4vLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcblxuICAvLyBOZWNlc3NhcnkgZm9yIHRoZSBjb250ZW50IG5vdCB0byBsb3NlIGl0cyB3aWR0aC4gTm90ZSB0aGF0IHdlJ3JlIHVzaW5nIDEwMCUsIGluc3RlYWQgb2ZcbiAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxuICAvLyB0aGF0IHRoZSBlbGVtZW50IGhhZCBiZWZvcmUgd2UgbWFkZSBpdCBgZml4ZWRgLlxuICB3aWR0aDogMTAwJTtcblxuICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cbiAgLy8gcG90ZW50aWFsbHkgcmVzdWx0IGluIGRvdWJsZSBzY3JvbGxiYXJzLiBJdCBzaG91bGRuJ3QgYmUgYW4gaXNzdWUsIGJlY2F1c2Ugd2Ugd29uJ3RcbiAgLy8gYmxvY2sgc2Nyb2xsaW5nIG9uIGEgcGFnZSB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvaXNzdWVzLzE1MDUxXG4gIGJvZHkge1xuICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIH1cbn1cblxuLm56LW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3Age1xuICAmLCAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLm56LWFuaW1hdGUtZGlzYWJsZWQge1xuICAvLyBkcmF3ZXJcbiAgJi5hbnQtZHJhd2VyIHtcbiAgICAmLmFudC1kcmF3ZXItb3BlbiAuYW50LWRyYXdlci1tYXNrIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBtb2RhbFxuICAuYW50LW1vZGFsLW1hc2ssIC5hbnQtbW9kYWwge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICAgJi56b29tLWVudGVyLCAmLnpvb20tbGVhdmUsXG4gICAgJi56b29tLWVudGVyLWFjdGl2ZSwgJi56b29tLWxlYXZlLWFjdGl2ZSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIG1lbnVcbiAgJi5hbnQtbWVudSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAgIC5hbnQtbWVudS1pdGVtLCAuYW50LW1lbnUtc3VibWVudS10aXRsZSB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5hbnQtbWVudS1pdGVtIC5hbnRpY29uLCAuYW50LW1lbnUtc3VibWVudS10aXRsZSAuYW50aWNvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICAgICAmICsgc3BhbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gdGFic1xuICAmLmFudC10YWJzIHtcbiAgICAuYW50LXRhYnMtdG9wLWNvbnRlbnQuYW50LXRhYnMtY29udGVudC1hbmltYXRlZCxcbiAgICAuYW50LXRhYnMtYm90dG9tLWNvbnRlbnQuYW50LXRhYnMtY29udGVudC1hbmltYXRlZCxcbiAgICAuYW50LXRhYnMtdG9wLWNvbnRlbnQgPiAuYW50LXRhYnMtdGFicGFuZSxcbiAgICAuYW50LXRhYnMtYm90dG9tLWNvbnRlbnQgPiAuYW50LXRhYnMtdGFicGFuZSxcbiAgICAmLmFudC10YWJzLWxlZnQgLmFudC10YWJzLWluay1iYXItYW5pbWF0ZWQsXG4gICAgJi5hbnQtdGFicy1yaWdodCAuYW50LXRhYnMtaW5rLWJhci1hbmltYXRlZCxcbiAgICAmLmFudC10YWJzLXRvcCAuYW50LXRhYnMtaW5rLWJhci1hbmltYXRlZCxcbiAgICAmLmFudC10YWJzLWJvdHRvbSAuYW50LXRhYnMtaW5rLWJhci1hbmltYXRlZCB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIGNvbGxhcHNlXG4gICYuYW50LWNvbGxhcHNlID4gLmFudC1jb2xsYXBzZS1pdGVtID4gLmFudC1jb2xsYXBzZS1oZWFkZXIgLmFudC1jb2xsYXBzZS1hcnJvdyBzdmcge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuQGltcG9ydCAnLi9taXhpbic7XG5cbkBidG4tcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LWJ0bic7XG5cbi8vIGZvciBjb21wYXRpYmxlXG5AYnRuLWdob3N0LWNvbG9yOiBAdGV4dC1jb2xvcjtcbkBidG4tZ2hvc3QtYmc6IHRyYW5zcGFyZW50O1xuQGJ0bi1naG9zdC1ib3JkZXI6IEBib3JkZXItY29sb3ItYmFzZTtcblxuLy8gQnV0dG9uIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5Ae2J0bi1wcmVmaXgtY2xzfSB7XG4gIC8vIEZpeGluZyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xMjk3OFxuICAvLyBGaXhpbmcgaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMjAwNThcbiAgLy8gRml4aW5nIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzE5OTcyXG4gIC8vIEZpeGluZyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xODEwN1xuICAvLyBGaXhpbmcgaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTMyMTRcbiAgLy8gSXQgaXMgYSByZW5kZXIgcHJvYmxlbSBvZiBjaHJvbWUsIHdoaWNoIGlzIG9ubHkgaGFwcGVuZWQgaW4gdGhlIGNvZGVzYW5kYm94IGRlbW9cbiAgLy8gMC4wMDFweCBzb2x1dGlvbiB3b3JrcyBhbmQgSSBkb24ndCB3aHlcbiAgbGluZS1oZWlnaHQ6IEBidG4tbGluZS1oZWlnaHQ7XG4gIC5idG4oKTtcbiAgLmJ0bi1kZWZhdWx0KCk7XG5cbiAgLy8gRml4IGxvYWRpbmcgYnV0dG9uIGFuaW1hdGlvblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8yNDMyM1xuICA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICYtcHJpbWFyeSB7XG4gICAgLmJ0bi1wcmltYXJ5KCk7XG5cbiAgICAuQHtidG4tcHJlZml4LWNsc30tZ3JvdXAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQGJ0bi1ncm91cC1ib3JkZXI7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogQGJ0bi1ncm91cC1ib3JkZXI7XG5cbiAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IEBidG4tZGVmYXVsdC1ib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7YnRuLXByZWZpeC1jbHN9LWdyb3VwICY6Zmlyc3QtY2hpbGQge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAYnRuLWdyb3VwLWJvcmRlcjtcblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAYnRuLWRlZmF1bHQtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7YnRuLXByZWZpeC1jbHN9LWdyb3VwICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAuQHtidG4tcHJlZml4LWNsc30tZ3JvdXAgJiArICYge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBidG4tZ3JvdXAtYm9yZGVyO1xuXG4gICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAYnRuLWRlZmF1bHQtYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZ2hvc3Qge1xuICAgIC5idG4tZ2hvc3QoKTtcbiAgfVxuXG4gICYtZGFzaGVkIHtcbiAgICAuYnRuLWRhc2hlZCgpO1xuICB9XG5cbiAgLy8gdHlwZT1cImRhbmdlclwiIHdpbGwgZGVwcmVjYXRlZFxuICAvLyB1c2UgZGFuZ2VyIGluc3RlYWRcbiAgJi1kYW5nZXIge1xuICAgIC5idG4tZGFuZ2VyKCk7XG4gIH1cblxuICAmLWxpbmsge1xuICAgIC5idG4tbGluaygpO1xuICB9XG5cbiAgJi10ZXh0IHtcbiAgICAuYnRuLXRleHQoKTtcbiAgfVxuXG4gICYtZGFuZ2Vyb3VzIHtcbiAgICAuYnRuLWRhbmdlci1kZWZhdWx0KCk7XG4gIH1cblxuICAmLWRhbmdlcm91cyYtcHJpbWFyeSB7XG4gICAgLmJ0bi1kYW5nZXIoKTtcbiAgfVxuXG4gICYtZGFuZ2Vyb3VzJi1saW5rIHtcbiAgICAuYnRuLWRhbmdlci1saW5rKCk7XG4gIH1cblxuICAmLWRhbmdlcm91cyYtdGV4dCB7XG4gICAgLmJ0bi1kYW5nZXItdGV4dCgpO1xuICB9XG5cbiAgJi1pY29uLW9ubHkge1xuICAgIC5idG4tc3F1YXJlKEBidG4tcHJlZml4LWNscyk7XG4gICAgdmVydGljYWwtYWxpZ246IC0xcHg7XG4gIH1cblxuICAmLXJvdW5kIHtcbiAgICAuYnRuLXJvdW5kKEBidG4tcHJlZml4LWNscyk7XG4gICAgJi5Ae2J0bi1wcmVmaXgtY2xzfS1pY29uLW9ubHkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi1jaXJjbGUge1xuICAgIC5idG4tY2lyY2xlKEBidG4tcHJlZml4LWNscyk7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC1AYnRuLWJvcmRlci13aWR0aDtcbiAgICByaWdodDogLUBidG4tYm9yZGVyLXdpZHRoO1xuICAgIGJvdHRvbTogLUBidG4tYm9yZGVyLXdpZHRoO1xuICAgIGxlZnQ6IC1AYnRuLWJvcmRlci13aWR0aDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogQGNvbXBvbmVudC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgMC4zcyBAZWFzZS1pbi1vdXQ7XG5cbiAgICAvLyBGb2xsb3cgaWNvbiBibHVyIHVuZGVyIHdpbmRvd3MuIENoYW5nZSB0aGUgcmVuZGVyLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzEzOTI0XG4gICAgJi5Ae2ljb25mb250LWNzcy1wcmVmaXh9LXBsdXMsXG4gICAgJi5Ae2ljb25mb250LWNzcy1wcmVmaXh9LW1pbnVzIHtcbiAgICAgID4gc3ZnIHtcbiAgICAgICAgc2hhcGUtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYmLWxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJiA+ICYtbG9hZGluZy1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBAZWFzZS1pbi1vdXQ7XG5cbiAgICAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBAcGFkZGluZy14cztcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIC8vIGZvciBzbW9vdGggYnV0dG9uIHBhZGRpbmcgdHJhbnNpdGlvblxuICAgICAgc3ZnIHtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkaW5nQ2lyY2xlIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm9ubHktY2hpbGQge1xuICAgICAgLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZ3JvdXAge1xuICAgIC5idG4tZ3JvdXAoQGJ0bi1wcmVmaXgtY2xzKTtcbiAgfVxuXG4gIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIxMjgxNTU0LzMwNDA2MDVcbiAgJjpmb2N1cyA+IHNwYW4sXG4gICY6YWN0aXZlID4gc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gVG8gZW5zdXJlIHRoYXQgYSBzcGFjZSB3aWxsIGJlIHBsYWNlZCBiZXR3ZWVuIGNoYXJhY3RlciBhbmQgYEljb25gLlxuICA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9ICsgc3BhbixcbiAgPiBzcGFuICsgLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXhzO1xuICB9XG5cbiAgJi1iYWNrZ3JvdW5kLWdob3N0IHtcbiAgICBjb2xvcjogQGJ0bi1kZWZhdWx0LWdob3N0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IEBidG4tZGVmYXVsdC1naG9zdC1iZyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogQGJ0bi1kZWZhdWx0LWdob3N0LWJvcmRlcjtcbiAgfVxuXG4gICYtYmFja2dyb3VuZC1naG9zdCYtcHJpbWFyeSB7XG4gICAgLmJ1dHRvbi12YXJpYW50LWdob3N0KEBidG4tcHJpbWFyeS1iZyk7XG4gIH1cblxuICAmLWJhY2tncm91bmQtZ2hvc3QmLWRhbmdlciB7XG4gICAgLmJ1dHRvbi12YXJpYW50LWdob3N0KEBidG4tZGFuZ2VyLWJvcmRlcik7XG4gIH1cblxuICAmLWJhY2tncm91bmQtZ2hvc3QmLWRhbmdlcm91cyB7XG4gICAgLmJ1dHRvbi12YXJpYW50LWdob3N0KEBidG4tZGFuZ2VyLWJvcmRlcik7XG4gIH1cblxuICAmLWJhY2tncm91bmQtZ2hvc3QmLWRhbmdlcm91cyYtbGluayB7XG4gICAgLmJ1dHRvbi12YXJpYW50LWdob3N0KEBidG4tZGFuZ2VyLWJvcmRlciwgdHJhbnNwYXJlbnQpO1xuICB9XG5cbiAgJi10d28tY2hpbmVzZS1jaGFyczo6Zmlyc3QtbGV0dGVyIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zNGVtO1xuICB9XG5cbiAgJi10d28tY2hpbmVzZS1jaGFycyA+ICo6bm90KC5Ae2ljb25mb250LWNzcy1wcmVmaXh9KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4zNGVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjM0ZW07XG4gIH1cblxuICAmLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzEyNjgxXG4gIC8vIHNhbWUgbWV0aG9kIGFzIFNlbGVjdFxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGNvbnRlbnQ6ICdcXGEwJztcbiAgfVxufVxuXG5hLkB7YnRuLXByZWZpeC1jbHN9IHtcbiAgLy8gRml4aW5nIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzEyOTc4XG4gIC8vIEl0IGlzIGEgcmVuZGVyIHByb2JsZW0gb2YgY2hyb21lLCB3aGljaCBpcyBvbmx5IGhhcHBlbmVkIGluIHRoZSBjb2Rlc2FuZGJveCBkZW1vXG4gIC8vIDAuMXB4IGZvciBwYWRkaW5nLXRvcCBzb2x1dGlvbiB3b3JrcyBhbmQgSSBkb24ndCB3aHlcbiAgcGFkZGluZy10b3A6IDAuMXB4O1xuICBsaW5lLWhlaWdodDogQGJ0bi1oZWlnaHQtYmFzZSAtIDJweDtcblxuICAmLWxnIHtcbiAgICBsaW5lLWhlaWdodDogQGJ0bi1oZWlnaHQtbGcgLSAycHg7XG4gIH1cbiAgJi1zbSB7XG4gICAgbGluZS1oZWlnaHQ6IEBidG4taGVpZ2h0LXNtIC0gMnB4O1xuICB9XG59XG5cbkBpbXBvcnQgJy4vcnRsJztcbiIsIi8vIG1peGlucyBmb3IgYnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idXR0b24tc2l6ZShAaGVpZ2h0OyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAYm9yZGVyLXJhZGl1cykge1xuICBAcGFkZGluZy12ZXJ0aWNhbDogbWF4KFxuICAgIChyb3VuZCgoKEBoZWlnaHQgLSBAZm9udC1zaXplICogQGxpbmUtaGVpZ2h0LWJhc2UpIC8gMikgKiAxMCkgLyAxMCkgLSBAYm9yZGVyLXdpZHRoLWJhc2UsXG4gICAgMFxuICApO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XG59XG5cbi5idXR0b24tZGlzYWJsZWQoQGNvbG9yOiBAYnRuLWRpc2FibGUtY29sb3I7IEBiYWNrZ3JvdW5kOiBAYnRuLWRpc2FibGUtYmc7IEBib3JkZXI6IEBidG4tZGlzYWJsZS1ib3JkZXIpIHtcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIC5idXR0b24tY29sb3IoQGNvbG9yOyBAYmFja2dyb3VuZDsgQGJvcmRlcik7XG5cbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbi12YXJpYW50LXByaW1hcnkoQGNvbG9yOyBAYmFja2dyb3VuZCkge1xuICAuYnV0dG9uLWNvbG9yKEBjb2xvcjsgQGJhY2tncm91bmQ7IEBiYWNrZ3JvdW5kKTtcblxuICB0ZXh0LXNoYWRvdzogQGJ0bi10ZXh0LXNoYWRvdztcbiAgYm94LXNoYWRvdzogQGJ0bi1wcmltYXJ5LXNoYWRvdztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgIEBjb2xvcjsgfmBjb2xvclBhbGV0dGUoJ0B7YmFja2dyb3VuZH0nLCA3KSBgOyB+YGNvbG9yUGFsZXR0ZSgnQHtiYWNrZ3JvdW5kfScsIDcpIGBcbiAgICAgICk7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgIEBjb2xvcjsgfmBjb2xvclBhbGV0dGUoJ0B7YmFja2dyb3VuZH0nLCA1KSBgOyB+YGNvbG9yUGFsZXR0ZSgnQHtiYWNrZ3JvdW5kfScsIDUpIGBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmUge1xuICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgQGNvbG9yOyB+YGNvbG9yUGFsZXR0ZSgnQHtiYWNrZ3JvdW5kfScsIDUpIGA7IH5gY29sb3JQYWxldHRlKCdAe2JhY2tncm91bmR9JywgNSkgYFxuICAgICAgKTtcbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgQGNvbG9yOyB+YGNvbG9yUGFsZXR0ZSgnQHtiYWNrZ3JvdW5kfScsIDcpIGA7IH5gY29sb3JQYWxldHRlKCdAe2JhY2tncm91bmR9JywgNykgYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uLWRpc2FibGVkKCk7XG59XG5cbi5idXR0b24tdmFyaWFudC1vdGhlcihAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYm9yZGVyKSB7XG4gIC5idXR0b24tY29sb3IoQGNvbG9yOyBAYmFja2dyb3VuZDsgQGJvcmRlcik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKEBwcmltYXJ5LTU7IEBiYWNrZ3JvdW5kOyBAcHJpbWFyeS01KTtcbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgfmBjb2xvclBhbGV0dGUoJ0B7YnRuLXByaW1hcnktYmd9JywgNSkgYDsgQGJhY2tncm91bmQ7XG4gICAgICAgICAgfmBjb2xvclBhbGV0dGUoJ0B7YnRuLXByaW1hcnktYmd9JywgNSkgYFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgJjphY3RpdmUge1xuICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcihAcHJpbWFyeS03OyBAYmFja2dyb3VuZDsgQHByaW1hcnktNyk7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgIH5gY29sb3JQYWxldHRlKCdAe2J0bi1wcmltYXJ5LWJnfScsIDcpIGA7IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgIH5gY29sb3JQYWxldHRlKCdAe2J0bi1wcmltYXJ5LWJnfScsIDcpIGBcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIC5idXR0b24tZGlzYWJsZWQoKTtcbn1cbi5idXR0b24tdmFyaWFudC1naG9zdChAY29sb3I7IEBib3JkZXI6IEBjb2xvcikge1xuICAuYnV0dG9uLWNvbG9yKEBjb2xvcjsgdHJhbnNwYXJlbnQ7IEBib3JkZXIpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgJiB3aGVuIChAYm9yZGVyID0gdHJhbnNwYXJlbnQpIHtcbiAgICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDcpIGA7IHRyYW5zcGFyZW50OyB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAgIC5idXR0b24tY29sb3IofmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNSkgYDsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQGJvcmRlciA9IHRyYW5zcGFyZW50KSB7XG4gICAgICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgICB+YGNvbG9yUGFsZXR0ZSgnQHtjb2xvcn0nLCA3KSBgOyB0cmFuc3BhcmVudDsgfmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNykgYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICAgICAuYnV0dG9uLWNvbG9yKFxuICAgICAgICAgIH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDUpIGA7IHRyYW5zcGFyZW50OyB+YGNvbG9yUGFsZXR0ZSgnQHtjb2xvcn0nLCA1KSBgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6YWN0aXZlIHtcbiAgICAmIHdoZW4gKEBib3JkZXIgPSB0cmFuc3BhcmVudCkge1xuICAgICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAgIC5idXR0b24tY29sb3IofmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNSkgYDsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgICAgLmJ1dHRvbi1jb2xvcih+YGNvbG9yUGFsZXR0ZSgnQHtjb2xvcn0nLCA3KSBgOyB0cmFuc3BhcmVudDsgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gbm90KEBib3JkZXIgPSB0cmFuc3BhcmVudCkge1xuICAgICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgICAgfmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNSkgYDsgdHJhbnNwYXJlbnQ7IH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDUpIGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgICB+YGNvbG9yUGFsZXR0ZSgnQHtjb2xvcn0nLCA3KSBgOyB0cmFuc3BhcmVudDsgfmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNykgYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uLWRpc2FibGVkKCk7XG59XG4uYnV0dG9uLWNvbG9yKEBjb2xvcjsgQGJhY2tncm91bmQ7IEBib3JkZXIpIHtcbiAgY29sb3I6IEBjb2xvcjtcbiAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjsgLy8gYSBpbnNpZGUgQnV0dG9uIHdoaWNoIG9ubHkgd29yayBpbiBDaHJvbWVcbiAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTcyNTM0NTdcbiAgPiBhOm9ubHktY2hpbGQge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cbn1cbi5idXR0b24tZ3JvdXAtYmFzZShAYnRuQ2xhc3NOYW1lKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gID4gLkB7YnRuQ2xhc3NOYW1lfSxcbiAgPiBzcGFuID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgfVxuICAuQHtidG5DbGFzc05hbWV9LWljb24tb25seSB7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIH1cbiAgLy8gc2l6ZVxuICAmLWxnID4gLkB7YnRuQ2xhc3NOYW1lfSxcbiAgJi1sZyA+IHNwYW4gPiAuQHtidG5DbGFzc05hbWV9IHtcbiAgICAuYnV0dG9uLXNpemUoQGJ0bi1oZWlnaHQtbGc7IEBidG4tcGFkZGluZy1ob3Jpem9udGFsLWxnOyBAYnRuLWZvbnQtc2l6ZS1sZzsgMCk7XG4gIH1cbiAgJi1sZyAuQHtidG5DbGFzc05hbWV9LkB7YnRuQ2xhc3NOYW1lfS1pY29uLW9ubHkge1xuICAgIC5zcXVhcmUoQGJ0bi1oZWlnaHQtbGcpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gICYtc20gPiAuQHtidG5DbGFzc05hbWV9LFxuICAmLXNtID4gc3BhbiA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgIC5idXR0b24tc2l6ZShAYnRuLWhlaWdodC1zbTsgQGJ0bi1wYWRkaW5nLWhvcml6b250YWwtc207IEBmb250LXNpemUtYmFzZTsgMCk7XG4gICAgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICB9XG4gIH1cbiAgJi1zbSAuQHtidG5DbGFzc05hbWV9LkB7YnRuQ2xhc3NOYW1lfS1pY29uLW9ubHkge1xuICAgIC5zcXVhcmUoQGJ0bi1oZWlnaHQtc20pO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG4vLyBCYXNlIHN0eWxlcyBvZiBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ0bigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBAYnRuLWZvbnQtd2VpZ2h0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogQGJ0bi1ib3JkZXItd2lkdGggQGJ0bi1ib3JkZXItc3R5bGUgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IEBidG4tc2hhZG93O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIEBlYXNlLWluLW91dDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAuYnV0dG9uLXNpemUoXG4gICAgQGJ0bi1oZWlnaHQtYmFzZTsgQGJ0bi1wYWRkaW5nLWhvcml6b250YWwtYmFzZTsgQGZvbnQtc2l6ZS1iYXNlOyBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZVxuICApO1xuICA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuICAmOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICY6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gICZbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgID4gKiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbiAgJi1sZyB7XG4gICAgLmJ1dHRvbi1zaXplKFxuICAgICAgQGJ0bi1oZWlnaHQtbGc7IEBidG4tcGFkZGluZy1ob3Jpem9udGFsLWxnOyBAYnRuLWZvbnQtc2l6ZS1sZzsgQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2VcbiAgICApO1xuICB9XG4gICYtc20ge1xuICAgIC5idXR0b24tc2l6ZShcbiAgICAgIEBidG4taGVpZ2h0LXNtOyBAYnRuLXBhZGRpbmctaG9yaXpvbnRhbC1zbTsgQGJ0bi1mb250LXNpemUtc207IEBidG4tYm9yZGVyLXJhZGl1cy1zbVxuICAgICk7XG4gIH1cbn1cbi8vIHByaW1hcnkgYnV0dG9uIHN0eWxlXG4uYnRuLXByaW1hcnkoKSB7XG4gIC5idXR0b24tdmFyaWFudC1wcmltYXJ5KEBidG4tcHJpbWFyeS1jb2xvcjsgQGJ0bi1wcmltYXJ5LWJnKTtcbn1cbi8vIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4uYnRuLWRlZmF1bHQoKSB7XG4gIC5idXR0b24tdmFyaWFudC1vdGhlcihAYnRuLWRlZmF1bHQtY29sb3I7IEBidG4tZGVmYXVsdC1iZzsgQGJ0bi1kZWZhdWx0LWJvcmRlcik7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogQGJ0bi1kZWZhdWx0LWJnO1xuICB9XG59XG4vLyBnaG9zdCBidXR0b24gc3R5bGVcbi5idG4tZ2hvc3QoKSB7XG4gIC5idXR0b24tdmFyaWFudC1vdGhlcihAYnRuLWdob3N0LWNvbG9yLCBAYnRuLWdob3N0LWJnLCBAYnRuLWdob3N0LWJvcmRlcik7XG59XG4vLyBkYXNoZWQgYnV0dG9uIHN0eWxlXG4uYnRuLWRhc2hlZCgpIHtcbiAgLmJ1dHRvbi12YXJpYW50LW90aGVyKEBidG4tZGVmYXVsdC1jb2xvciwgQGJ0bi1kZWZhdWx0LWJnLCBAYnRuLWRlZmF1bHQtYm9yZGVyKTtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG59XG4vLyBkYW5nZXIgYnV0dG9uIHN0eWxlXG4uYnRuLWRhbmdlcigpIHtcbiAgLmJ1dHRvbi12YXJpYW50LXByaW1hcnkoQGJ0bi1kYW5nZXItY29sb3IsIEBidG4tZGFuZ2VyLWJnKTtcbn1cbi8vIGRhbmdlciBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuLmJ0bi1kYW5nZXItZGVmYXVsdCgpIHtcbiAgLmJ1dHRvbi1jb2xvcihAZXJyb3ItY29sb3IsIEBidG4tZGVmYXVsdC1iZywgQGVycm9yLWNvbG9yKTtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKFxuICAgICAgICB+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA3KSBgOyBAYnRuLWRlZmF1bHQtYmc7IH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDcpXG4gICAgICAgICAgYFxuICAgICAgKTtcbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgfmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNSkgYDsgQGJ0bi1kZWZhdWx0LWJnOyB+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA1KVxuICAgICAgICAgIGBcbiAgICAgICk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlIHtcbiAgICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgIH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDUpIGA7IEBidG4tZGVmYXVsdC1iZzsgfmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNSlcbiAgICAgICAgICBgXG4gICAgICApO1xuICAgIH1cbiAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKFxuICAgICAgICB+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA3KSBgOyBAYnRuLWRlZmF1bHQtYmc7IH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDcpXG4gICAgICAgICAgYFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgLmJ1dHRvbi1kaXNhYmxlZCgpO1xufVxuLy8gZGFuZ2VyIGxpbmsgYnV0dG9uIHN0eWxlXG4uYnRuLWRhbmdlci1saW5rKCkge1xuICAuYnV0dG9uLXZhcmlhbnQtb3RoZXIoQGVycm9yLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICBib3gtc2hhZG93OiBub25lO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IofmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNykgYDsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcih+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA1KSBgOyB0cmFuc3BhcmVudDsgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDUpIGA7IHRyYW5zcGFyZW50OyB0cmFuc3BhcmVudCk7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IofmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNykgYDsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJ1dHRvbi1kaXNhYmxlZChAZGlzYWJsZWQtY29sb3I7IHRyYW5zcGFyZW50OyB0cmFuc3BhcmVudCk7XG59XG4vLyBsaW5rIGJ1dHRvbiBzdHlsZVxuLmJ0bi1saW5rKCkge1xuICAuYnV0dG9uLXZhcmlhbnQtb3RoZXIoQGxpbmstY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IEBidG4tbGluay1ob3Zlci1iZztcbiAgfVxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuYnV0dG9uLWRpc2FibGVkKEBkaXNhYmxlZC1jb2xvcjsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbn1cbi8vIHRleHQgYnV0dG9uIHN0eWxlXG4uYnRuLXRleHQoKSB7XG4gIC5idXR0b24tdmFyaWFudC1vdGhlcihAdGV4dC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IEBidG4tdGV4dC1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBmYWRlaW4oQGJ0bi10ZXh0LWhvdmVyLWJnLCAxJSk7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5idXR0b24tZGlzYWJsZWQoQGRpc2FibGVkLWNvbG9yOyB0cmFuc3BhcmVudDsgdHJhbnNwYXJlbnQpO1xufVxuLmJ0bi1kYW5nZXItdGV4dCgpIHtcbiAgLmJ1dHRvbi12YXJpYW50LW90aGVyKEBlcnJvci1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDcpIGA7IEBidG4tdGV4dC1ob3Zlci1iZzsgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDUpIGA7IEBidG4tdGV4dC1ob3Zlci1iZzsgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IofmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNSkgYDsgZmFkZWluKEBidG4tdGV4dC1ob3Zlci1iZywgMSUpOyB0cmFuc3BhcmVudCk7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IofmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNykgYDsgZmFkZWluKEBidG4tdGV4dC1ob3Zlci1iZywgMSUpOyB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5idXR0b24tZGlzYWJsZWQoQGRpc2FibGVkLWNvbG9yOyB0cmFuc3BhcmVudDsgdHJhbnNwYXJlbnQpO1xufVxuLy8gcm91bmQgYnV0dG9uXG4uYnRuLXJvdW5kKEBidG5DbGFzc05hbWU6IGJ0bikge1xuICAuYnV0dG9uLXNpemUoQGJ0bi1jaXJjbGUtc2l6ZTsgKEBidG4tY2lyY2xlLXNpemUgLyAyKTsgQGZvbnQtc2l6ZS1iYXNlOyBAYnRuLWNpcmNsZS1zaXplKTtcbiAgJi5Ae2J0bkNsYXNzTmFtZX0tbGcge1xuICAgIC5idXR0b24tc2l6ZShcbiAgICAgIEBidG4tY2lyY2xlLXNpemUtbGc7IChAYnRuLWNpcmNsZS1zaXplLWxnIC8gMik7IEBidG4tZm9udC1zaXplLWxnOyBAYnRuLWNpcmNsZS1zaXplLWxnXG4gICAgKTtcbiAgfVxuICAmLkB7YnRuQ2xhc3NOYW1lfS1zbSB7XG4gICAgLmJ1dHRvbi1zaXplKFxuICAgICAgQGJ0bi1jaXJjbGUtc2l6ZS1zbTsgKEBidG4tY2lyY2xlLXNpemUtc20gLyAyKTsgQGZvbnQtc2l6ZS1iYXNlOyBAYnRuLWNpcmNsZS1zaXplLXNtXG4gICAgKTtcbiAgfVxufVxuLy8gc3F1YXJlIGJ1dHRvbjogdGhlIGNvbnRlbnQgb25seSBjb250YWlucyBpY29uXG4uYnRuLXNxdWFyZShAYnRuQ2xhc3NOYW1lOiBidG4pIHtcbiAgLnNxdWFyZShAYnRuLXNxdWFyZS1zaXplKTtcbiAgLmJ1dHRvbi1zaXplKEBidG4tc3F1YXJlLXNpemU7IDA7IEBidG4tc3F1YXJlLW9ubHktaWNvbi1zaXplOyBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICYgPiAqIHtcbiAgICBmb250LXNpemU6IEBidG4tc3F1YXJlLW9ubHktaWNvbi1zaXplO1xuICB9XG4gICYuQHtidG5DbGFzc05hbWV9LWxnIHtcbiAgICAuc3F1YXJlKEBidG4tc3F1YXJlLXNpemUtbGcpO1xuICAgIC5idXR0b24tc2l6ZShAYnRuLXNxdWFyZS1zaXplLWxnOyAwOyBAYnRuLXNxdWFyZS1vbmx5LWljb24tc2l6ZS1sZzsgQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICYgPiAqIHtcbiAgICAgIGZvbnQtc2l6ZTogQGJ0bi1zcXVhcmUtb25seS1pY29uLXNpemUtbGc7XG4gICAgfVxuICB9XG4gICYuQHtidG5DbGFzc05hbWV9LXNtIHtcbiAgICAuc3F1YXJlKEBidG4tc3F1YXJlLXNpemUtc20pO1xuICAgIC5idXR0b24tc2l6ZShAYnRuLXNxdWFyZS1zaXplLXNtOyAwOyBAYnRuLXNxdWFyZS1vbmx5LWljb24tc2l6ZS1zbTsgQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICYgPiAqIHtcbiAgICAgIGZvbnQtc2l6ZTogQGJ0bi1zcXVhcmUtb25seS1pY29uLXNpemUtc207XG4gICAgfVxuICB9XG59XG4vLyBjaXJjbGUgYnV0dG9uOiB0aGUgY29udGVudCBvbmx5IGNvbnRhaW5zIGljb25cbi5idG4tY2lyY2xlKEBidG5DbGFzc05hbWU6IGJ0bikge1xuICBtaW4td2lkdGg6IEBidG4taGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICYuQHtidG5DbGFzc05hbWV9LWxnIHtcbiAgICBtaW4td2lkdGg6IEBidG4taGVpZ2h0LWxnO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuICAmLkB7YnRuQ2xhc3NOYW1lfS1zbSB7XG4gICAgbWluLXdpZHRoOiBAYnRuLWhlaWdodC1zbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbn1cbi8vIEhvcml6b250YWwgYnV0dG9uIGdyb3VwcyBzdHlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idG4tZ3JvdXAoQGJ0bkNsYXNzTmFtZTogYnRuKSB7XG4gIC5idXR0b24tZ3JvdXAtYmFzZShAYnRuQ2xhc3NOYW1lKTtcbiAgLkB7YnRuQ2xhc3NOYW1lfSArIC5Ae2J0bkNsYXNzTmFtZX0sXG4gIC5Ae2J0bkNsYXNzTmFtZX0gKyAmLFxuICBzcGFuICsgLkB7YnRuQ2xhc3NOYW1lfSxcbiAgLkB7YnRuQ2xhc3NOYW1lfSArIHNwYW4sXG4gID4gc3BhbiArIHNwYW4sXG4gICYgKyAuQHtidG5DbGFzc05hbWV9LFxuICAmICsgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLkB7YnRuQ2xhc3NOYW1lfS1wcmltYXJ5ICsgLkB7YnRuQ2xhc3NOYW1lfTpub3QoLkB7YnRuQ2xhc3NOYW1lfS1wcmltYXJ5KTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuQHtidG5DbGFzc05hbWV9IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gID4gLkB7YnRuQ2xhc3NOYW1lfTpmaXJzdC1jaGlsZCxcbiAgPiBzcGFuOmZpcnN0LWNoaWxkID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgPiAuQHtidG5DbGFzc05hbWV9Om9ubHktY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG4gID4gc3Bhbjpvbmx5LWNoaWxkID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgYm9yZGVyLXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cbiAgPiAuQHtidG5DbGFzc05hbWV9OmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCksXG4gID4gc3BhbjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cbiAgPiAuQHtidG5DbGFzc05hbWV9Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gID4gc3BhbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgfVxuICAmLXNtIHtcbiAgICA+IC5Ae2J0bkNsYXNzTmFtZX06b25seS1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtc207XG4gICAgfVxuICAgID4gc3Bhbjpvbmx5LWNoaWxkID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtc207XG4gICAgfVxuICAgID4gLkB7YnRuQ2xhc3NOYW1lfTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gc3BhbjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtc207XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtc207XG4gICAgfVxuICAgID4gLkB7YnRuQ2xhc3NOYW1lfTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgID4gc3BhbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1zbTtcbiAgICB9XG4gIH1cbiAgJiA+ICYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gICYgPiAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuQHtidG5DbGFzc05hbWV9IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICYgPiAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgID4gLkB7YnRuQ2xhc3NOYW1lfTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG4gICYgPiAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuQHtidG5DbGFzc05hbWV9OmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbn1cbiIsIi5Ae2J0bi1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxuXG4gICYtcHJpbWFyeSB7XG4gICAgLkB7YnRuLXByZWZpeC1jbHN9LWdyb3VwICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAuQHtidG4tcHJlZml4LWNsc30tZ3JvdXAgJiArICYge1xuICAgICAgLkB7YnRuLXByZWZpeC1jbHN9LWdyb3VwLXJ0bCYge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBidG4tZ3JvdXAtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogQGJ0bi1kZWZhdWx0LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgLkB7YnRuLXByZWZpeC1jbHN9LWdyb3VwLXJ0bCYge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQGJ0bi1kZWZhdWx0LWJvcmRlcjtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogQGJ0bi1ncm91cC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmID4gJi1sb2FkaW5nLWljb24ge1xuICAgIC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICAgIC5Ae2J0bi1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAbWFyZ2luLXhzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6b25seS1jaGlsZCB7XG4gICAgICAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9ICsgc3BhbixcbiAgPiBzcGFuICsgLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgIC5Ae2J0bi1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIG1peGluXG4uYnRuLWdyb3VwKEBidG5DbGFzc05hbWU6IGJ0bikge1xuICAuQHtidG5DbGFzc05hbWV9ICsgLkB7YnRuQ2xhc3NOYW1lfSxcbiAgLkB7YnRuQ2xhc3NOYW1lfSArICYsXG4gIHNwYW4gKyAuQHtidG5DbGFzc05hbWV9LFxuICAuQHtidG5DbGFzc05hbWV9ICsgc3BhbixcbiAgPiBzcGFuICsgc3BhbixcbiAgJiArIC5Ae2J0bkNsYXNzTmFtZX0sXG4gICYgKyAmIHtcbiAgICAuQHtidG5DbGFzc05hbWV9LXJ0bCYsXG4gICAgLkB7YnRuQ2xhc3NOYW1lfS1ncm91cC1ydGwmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYuQHtidG5DbGFzc05hbWV9LWdyb3VwLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cblxuICA+IC5Ae2J0bkNsYXNzTmFtZX06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSxcbiAgPiBzcGFuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuQHtidG5DbGFzc05hbWV9IHtcbiAgICAuQHtidG5DbGFzc05hbWV9LWdyb3VwLXJ0bCYge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgPiAuQHtidG5DbGFzc05hbWV9Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gID4gc3BhbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgLkB7YnRuQ2xhc3NOYW1lfS1ncm91cC1ydGwmIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIH1cbiAgfVxuXG4gICYtc20ge1xuICAgID4gLkB7YnRuQ2xhc3NOYW1lfTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gc3BhbjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgICAuQHtidG5DbGFzc05hbWV9LWdyb3VwLXJ0bCYge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gLkB7YnRuQ2xhc3NOYW1lfTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgID4gc3BhbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgICAuQHtidG5DbGFzc05hbWV9LWdyb3VwLXJ0bCYge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtc207XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vdGhlbWVzL2luZGV4JztcblxuLnJlc2V0LWNvbXBvbmVudCgpIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogQHRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXZhcmlhbnQ6IEBmb250LXZhcmlhbnQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IEBmb250LWZlYXR1cmUtc2V0dGluZ3MtYmFzZTtcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5Ac3Bpbi1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tc3Bpbic7XG5Ac3Bpbi1kb3QtZGVmYXVsdDogQHRleHQtY29sb3Itc2Vjb25kYXJ5O1xuXG4uQHtzcGluLXByZWZpeC1jbHN9IHtcbiAgLnJlc2V0LWNvbXBvbmVudCgpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6IEBwcmltYXJ5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIEBlYXNlLWluLW91dC1jaXJjO1xuXG4gICYtc3Bpbm5pbmcge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLW5lc3RlZC1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgPiBkaXYgPiAuQHtzcGluLXByZWZpeC1jbHN9IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgLkB7c3Bpbi1wcmVmaXgtY2xzfS1kb3Qge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogLShAc3Bpbi1kb3Qtc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgICAgLkB7c3Bpbi1wcmVmaXgtY2xzfS10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoKEBzcGluLWRvdC1zaXplIC0gQGZvbnQtc2l6ZS1iYXNlKSAvIDIpICsgMnB4O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IEBzaGFkb3ctY29sb3ItaW52ZXJzZTtcbiAgICAgIH1cbiAgICAgICYuQHtzcGluLXByZWZpeC1jbHN9LXNob3ctdGV4dCAuQHtzcGluLXByZWZpeC1jbHN9LWRvdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0oQHNwaW4tZG90LXNpemUgLyAyKSAtIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYgPiAuQHtzcGluLXByZWZpeC1jbHN9LXNtIHtcbiAgICAgIC5Ae3NwaW4tcHJlZml4LWNsc30tZG90IHtcbiAgICAgICAgbWFyZ2luOiAtKEBzcGluLWRvdC1zaXplLXNtIC8gMik7XG4gICAgICB9XG4gICAgICAuQHtzcGluLXByZWZpeC1jbHN9LXRleHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogKChAc3Bpbi1kb3Qtc2l6ZS1zbSAtIEBmb250LXNpemUtYmFzZSkgLyAyKSArIDJweDtcbiAgICAgIH1cbiAgICAgICYuQHtzcGluLXByZWZpeC1jbHN9LXNob3ctdGV4dCAuQHtzcGluLXByZWZpeC1jbHN9LWRvdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0oQHNwaW4tZG90LXNpemUtc20gLyAyKSAtIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYgPiAuQHtzcGluLXByZWZpeC1jbHN9LWxnIHtcbiAgICAgIC5Ae3NwaW4tcHJlZml4LWNsc30tZG90IHtcbiAgICAgICAgbWFyZ2luOiAtKEBzcGluLWRvdC1zaXplLWxnIC8gMik7XG4gICAgICB9XG4gICAgICAuQHtzcGluLXByZWZpeC1jbHN9LXRleHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogKChAc3Bpbi1kb3Qtc2l6ZS1sZyAtIEBmb250LXNpemUtYmFzZSkgLyAyKSArIDJweDtcbiAgICAgIH1cbiAgICAgICYuQHtzcGluLXByZWZpeC1jbHN9LXNob3ctdGV4dCAuQHtzcGluLXByZWZpeC1jbHN9LWRvdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0oQHNwaW4tZG90LXNpemUtbGcgLyAyKSAtIDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGRpc3BsYXk6IH4nbm9uZSBcXDknO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBAY29tcG9uZW50LWJhY2tncm91bmQ7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtYmx1ciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyB0aXBcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYtdGlwIHtcbiAgICBjb2xvcjogQHNwaW4tZG90LWRlZmF1bHQ7XG4gIH1cblxuICAvLyBkb3RzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtZG90IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogQHNwaW4tZG90LXNpemU7XG5cbiAgICAuc3F1YXJlKDFlbSk7XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHJpbWFyeS1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIGFuaW1hdGlvbjogYW50U3Bpbk1vdmUgMXMgaW5maW5pdGUgbGluZWFyIGFsdGVybmF0ZTtcblxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjhzO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS4ycztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXNwaW4ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgYW5pbWF0aW9uOiBhbnRSb3RhdGUgMS4ycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gc21hbGxcbiAgJi1zbSAmLWRvdCB7XG4gICAgZm9udC1zaXplOiBAc3Bpbi1kb3Qtc2l6ZS1zbTtcblxuICAgIGkge1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIGxhcmdlXG4gICYtbGcgJi1kb3Qge1xuICAgIGZvbnQtc2l6ZTogQHNwaW4tZG90LXNpemUtbGc7XG5cbiAgICBpIHtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gICYmLXNob3ctdGV4dCAmLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC8qIElFMTArICovXG4gIC5Ae3NwaW4tcHJlZml4LWNsc30tYmx1ciB7XG4gICAgYmFja2dyb3VuZDogQGNvbXBvbmVudC1iYWNrZ3JvdW5kO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFNwaW5Nb3ZlIHtcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRSb3RhdGUge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTtcbiAgfVxufVxuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCIuQHtzcGluLXByZWZpeC1jbHN9IHtcbiAgJi1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG5cbiAgJi1kb3Qge1xuICAgICYtc3BpbiB7XG4gICAgICAuQHtzcGluLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGFudFJvdGF0ZVJ0bDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRSb3RhdGVSdGwge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XG4gIH1cbn1cbiIsIm56LXNwaW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIkBpbXBvcnQgJy4vaW5kZXgnO1xuQGltcG9ydCAnLi9taXhpbic7XG5cbkBpbnB1dC1hZmZpeC1tYXJnaW46IDRweDtcblxuLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAmLWFmZml4LXdyYXBwZXIge1xuICAgIC5pbnB1dCgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAuaG92ZXIoKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICAuQHthbnQtcHJlZml4fS1pbnB1dC1zZWFyY2gtd2l0aC1idXR0b24gJiB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1mb2N1c2VkLFxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmLWRpc2FibGVkIHtcbiAgICAgIC5Ae2FudC1wcmVmaXh9LWlucHV0W2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gaW5wdXQuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgY29udGVudDogJ1xcYTAnO1xuICAgIH1cbiAgfVxuXG4gICYtcHJlZml4LFxuICAmLXN1ZmZpeCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmLXByZWZpeCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBAaW5wdXQtYWZmaXgtbWFyZ2luO1xuICB9XG5cbiAgJi1zdWZmaXgge1xuICAgIG1hcmdpbi1sZWZ0OiBAaW5wdXQtYWZmaXgtbWFyZ2luO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuQGlucHV0LWFmZml4LXdpdGgtY2xlYXItYnRuLXdpZHRoOiAzOHB4O1xuXG4vLyBzaXplIG1peGlucyBmb3IgaW5wdXRcbi5pbnB1dC1sZygpIHtcbiAgcGFkZGluZzogQGlucHV0LXBhZGRpbmctdmVydGljYWwtbGcgQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1sZztcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWxnO1xufVxuXG4uaW5wdXQtc20oKSB7XG4gIHBhZGRpbmc6IEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLXNtIEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtc207XG59XG5cbi8vIGlucHV0IHN0YXR1c1xuLy8gPT0gd2hlbiBmb2N1cyBvciBhY3RpdmVkXG4uYWN0aXZlKEBjb2xvcjogQG91dGxpbmUtY29sb3IpIHtcbiAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gIH1cbiAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgIGJvcmRlci1jb2xvcjogfmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNSkgYDtcbiAgfVxuICBib3JkZXItcmlnaHQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZSAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBAaW5wdXQtb3V0bGluZS1vZmZzZXQgQG91dGxpbmUtYmx1ci1zaXplIEBvdXRsaW5lLXdpZHRoIGZhZGUoQGNvbG9yLCBAb3V0bGluZS1mYWRlKTtcbn1cblxuLy8gPT0gd2hlbiBob3ZlcmRcbi5ob3ZlcihAY29sb3I6IEBpbnB1dC1ob3Zlci1ib3JkZXItY29sb3IpIHtcbiAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gIGJvcmRlci1yaWdodC13aWR0aDogQGJvcmRlci13aWR0aC1iYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNhYmxlZCgpIHtcbiAgY29sb3I6IEBpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWRpc2FibGVkLWJnO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAxO1xuXG4gICY6aG92ZXIge1xuICAgIC5ob3ZlcihAaW5wdXQtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4vLyBCYXNpYyBzdHlsZSBmb3IgaW5wdXRcbi5pbnB1dCgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLWJhc2UgQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAaW5wdXQtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgLnBsYWNlaG9sZGVyKCk7IC8vIFJlc2V0IHBsYWNlaG9sZGVyXG5cbiAgJjpob3ZlciB7XG4gICAgLmhvdmVyKCk7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLWZvY3VzZWQge1xuICAgIC5hY3RpdmUoKTtcbiAgfVxuXG4gICYtZGlzYWJsZWQge1xuICAgIC5kaXNhYmxlZCgpO1xuICB9XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5kaXNhYmxlZCgpO1xuICB9XG5cbiAgJi1ib3JkZXJsZXNzIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLWZvY3VzZWQsXG4gICAgJi1kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xuICB0ZXh0YXJlYSYge1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gcHJldmVudCB0ZXh0ZWFyZWEgcmVzaXplIGZyb20gY29taW5nIG91dCBvZiBpdHMgY29udGFpbmVyXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcywgaGVpZ2h0IDBzO1xuICB9XG5cbiAgLy8gU2l6ZVxuICAmLWxnIHtcbiAgICAuaW5wdXQtbGcoKTtcbiAgfVxuXG4gICYtc20ge1xuICAgIC5pbnB1dC1zbSgpO1xuICB9XG59XG5cbi8vIGxhYmVsIGlucHV0XG4uaW5wdXQtZ3JvdXAoQGlucHV0Q2xhc3MpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuXG4gIC8vIFVuZG8gcGFkZGluZyBhbmQgZmxvYXQgb2YgZ3JpZCBjbGFzc2VzXG4gICZbY2xhc3MqPSdjb2wtJ10ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtYWRkb24sXG4gICYtd3JhcCxcbiAgPiAuQHtpbnB1dENsYXNzfSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtYWRkb24sXG4gICYtd3JhcCB7XG4gICAgd2lkdGg6IDFweDsgLy8gVG8gbWFrZSBhZGRvbi93cmFwIGFzIHNtYWxsIGFzIHBvc3NpYmxlXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgJi13cmFwID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5Ae2lucHV0Q2xhc3N9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDE7IC8vIEZpeCBodHRwczovL2d3LmFsaXBheW9iamVjdHMuY29tL3pvcy9ybXNwb3J0YWwvREhOcG9xZk1YU2ZyU25sWnZoc0oucG5nXG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgIC5Ae2FudC1wcmVmaXh9LWlucHV0LXNlYXJjaC13aXRoLWJ1dHRvbiAmIHtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWFkZG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLWJhc2U7XG4gICAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtYWRkb24tYmc7XG4gICAgYm9yZGVyOiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgIC8vIFJlc2V0IFNlbGVjdCdzIHN0eWxlIGluIGFkZG9uXG4gICAgLkB7YW50LXByZWZpeH0tc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogLShAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlICsgMXB4KSAoLUBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZSk7XG5cbiAgICAgICYuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2luZ2xlOm5vdCguQHthbnQtcHJlZml4fS1zZWxlY3QtY3VzdG9taXplLWlucHV0KVxuICAgICAgICAuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2VsZWN0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXI6IEBib3JkZXItd2lkdGgtYmFzZSBAYm9yZGVyLXN0eWxlLWJhc2UgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYtb3BlbixcbiAgICAgICYtZm9jdXNlZCB7XG4gICAgICAgIC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1zZWxlY3RvciB7XG4gICAgICAgICAgY29sb3I6IEBwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLkB7aW5wdXRDbGFzc306Zmlyc3QtY2hpbGQsXG4gICYtYWRkb246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXG4gICAgLy8gUmVzZXQgU2VsZWN0J3Mgc3R5bGUgaW4gYWRkb25cbiAgICAuQHthbnQtcHJlZml4fS1zZWxlY3QgLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgPiAuQHtpbnB1dENsYXNzfS1hZmZpeC13cmFwcGVyIHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5Ae2lucHV0Q2xhc3N9IHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuQHtpbnB1dENsYXNzfSB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtYWRkb246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgfVxuXG4gICYtYWRkb246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5Ae2lucHV0Q2xhc3N9Omxhc3QtY2hpbGQsXG4gICYtYWRkb246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXG4gICAgLy8gUmVzZXQgU2VsZWN0J3Mgc3R5bGUgaW4gYWRkb25cbiAgICAuQHthbnQtcHJlZml4fS1zZWxlY3QgLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyBvcHRpb25zXG4gICYtbGcgLkB7aW5wdXRDbGFzc30sXG4gICYtbGcgPiAmLWFkZG9uIHtcbiAgICAuaW5wdXQtbGcoKTtcbiAgfVxuXG4gICYtc20gLkB7aW5wdXRDbGFzc30sXG4gICYtc20gPiAmLWFkZG9uIHtcbiAgICAuaW5wdXQtc20oKTtcbiAgfVxuXG4gIC8vIEZpeCBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy81NzU0XG4gICYtbGcgLkB7YW50LXByZWZpeH0tc2VsZWN0LXNpbmdsZSAuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2VsZWN0b3Ige1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sZztcbiAgfVxuXG4gICYtc20gLkB7YW50LXByZWZpeH0tc2VsZWN0LXNpbmdsZSAuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2VsZWN0b3Ige1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbTtcbiAgfVxuXG4gIC5Ae2lucHV0Q2xhc3N9LWFmZml4LXdyYXBwZXIge1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAuQHthbnQtcHJlZml4fS1pbnB1dC1zZWFyY2ggJiB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiYtY29tcGFjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLmNsZWFyZml4KCk7XG5cbiAgICAmLWFkZG9uLFxuICAgICYtd3JhcCxcbiAgICA+IC5Ae2lucHV0Q2xhc3N9IHtcbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogQGJvcmRlci13aWR0aC1iYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduLXByby9pc3N1ZXMvMTM5XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgICYgPiAuQHtpbnB1dENsYXNzfS1hZmZpeC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIH1cblxuICAgICYgPiAuQHthbnQtcHJlZml4fS1waWNrZXItcmFuZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuXG4gICAgJiA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC1AYm9yZGVyLXdpZHRoLWJhc2U7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZTtcbiAgICB9XG5cbiAgICAvLyBVbmRvIGZsb2F0IGZvciAuYW50LWlucHV0LWdyb3VwIC5hbnQtaW5wdXRcbiAgICAuQHtpbnB1dENsYXNzfSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAvLyByZXNldCBib3JkZXIgZm9yIFNlbGVjdCwgRGF0ZVBpY2tlciwgQXV0b0NvbXBsZXRlLCBDYXNjYWRlciwgTWVudGlvbiwgVGltZVBpY2tlciwgSW5wdXRcbiAgICAmID4gLkB7YW50LXByZWZpeH0tc2VsZWN0ID4gLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yLFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3QtYXV0by1jb21wbGV0ZSAuQHthbnQtcHJlZml4fS1pbnB1dCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tY2FzY2FkZXItcGlja2VyIC5Ae2FudC1wcmVmaXh9LWlucHV0LFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC13cmFwcGVyIC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogQGJvcmRlci13aWR0aC1iYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3QtZm9jdXNlZCB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC8vIHVwZGF0ZSB6LWluZGV4IGZvciBhcnJvdyBpY29uXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdCA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1hcnJvdyB7XG4gICAgICB6LWluZGV4OiAxOyAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8yMDM3MVxuICAgIH1cblxuICAgICYgPiAqOmZpcnN0LWNoaWxkLFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3Q6Zmlyc3QtY2hpbGQgPiAuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2VsZWN0b3IsXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1hdXRvLWNvbXBsZXRlOmZpcnN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0LFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1jYXNjYWRlci1waWNrZXI6Zmlyc3QtY2hpbGQgLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgfVxuXG4gICAgJiA+ICo6bGFzdC1jaGlsZCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tc2VsZWN0Omxhc3QtY2hpbGQgPiAuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2VsZWN0b3IsXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LWNhc2NhZGVyLXBpY2tlcjpsYXN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0LFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1jYXNjYWRlci1waWNrZXItZm9jdXNlZDpsYXN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogQGJvcmRlci13aWR0aC1iYXNlO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICB9XG5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xMjQ5M1xuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3QtYXV0by1jb21wbGV0ZSAuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwLXdyYXBwZXIgKyAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgLkB7YW50LXByZWZpeH0taW5wdXQtYWZmaXgtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtd3JhcHBlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICYuQHthbnQtcHJlZml4fS1pbnB1dC1zZWFyY2ggPiAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cCB7XG4gICAgICAgICYgPiAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC1hZGRvbiA+IC5Ae2FudC1wcmVmaXh9LWlucHV0LXNlYXJjaC1idXR0b24ge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgMCAwIEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbXBhdGliaWxpdHkgZm9yIGJyb3dzZXJzLlxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAaW5wdXQtcGxhY2Vob2xkZXItY29sb3IpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gIH1cblxuICAmOnBsYWNlaG9sZGVyLXNob3duIHtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbi8vPT0gU3R5bGUgZm9yIGlucHV0LWdyb3VwOiBpbnB1dCB3aXRoIGxhYmVsLCB3aXRoIGJ1dHRvbiBvciBkcm9wZG93bi4uLlxuLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAge1xuICAmLXdyYXBwZXIge1xuICAgICYtcnRsIHtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgIH1cbiAgfVxuICAmLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cbn1cblxuLy8gYWZmaXhcbkBpbnB1dC1hZmZpeC1tYXJnaW46IDRweDtcblxuLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAmLWFmZml4LXdyYXBwZXImLWFmZml4LXdyYXBwZXItcnRsIHtcbiAgICA+IGlucHV0LkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWFmZml4LXdyYXBwZXItcnRsIHtcbiAgICAuQHthbnQtcHJlZml4fS1pbnB1dC1wcmVmaXgge1xuICAgICAgbWFyZ2luOiAwIDAgMCBAaW5wdXQtYWZmaXgtbWFyZ2luO1xuICAgIH1cblxuICAgIC5Ae2FudC1wcmVmaXh9LWlucHV0LXN1ZmZpeCB7XG4gICAgICBtYXJnaW46IDAgQGlucHV0LWFmZml4LW1hcmdpbiAwIDA7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0YXJlYSB7XG4gICAgJi1ydGwge1xuICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgfVxuXG4gICAgJi1ydGwmLXNob3ctY291bnQ6OmFmdGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIGFsbG93LWNsZWFyXG4uQHthbnQtcHJlZml4fS1pbnB1dC1jbGVhci1pY29uIHtcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAuQHthbnQtcHJlZml4fS1pbnB1dC1hZmZpeC13cmFwcGVyLXJ0bCAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogQGlucHV0LWFmZml4LW1hcmdpbjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5Ae2FudC1wcmVmaXh9LWlucHV0LWFmZml4LXdyYXBwZXItcnRsICYge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDhweDtcbiAgfVxufVxuXG4vLyBtaXhpblxuQGlucHV0LXJ0bC1jbHM6IH4nQHthbnQtcHJlZml4fS1pbnB1dC1ydGwnO1xuXG4uYWN0aXZlKCkge1xuICAuQHtpbnB1dC1ydGwtY2xzfSAmIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ob3ZlcigpIHtcbiAgLkB7aW5wdXQtcnRsLWNsc30gJiB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBAYm9yZGVyLXdpZHRoLWJhc2UgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaW5wdXQoKSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxufVxuXG4vLyBsYWJlbCBpbnB1dFxuLmlucHV0LWdyb3VwKEBpbnB1dENsYXNzKSB7XG4gID4gLkB7aW5wdXRDbGFzc30tcnRsOmZpcnN0LWNoaWxkLFxuICAmLXJ0bCAmLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwO1xuICB9XG5cbiAgJi1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gICAgLkB7aW5wdXRDbGFzc30tZ3JvdXAtcnRsICYge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAmLWFkZG9uOmxhc3QtY2hpbGQge1xuICAgIC5Ae2lucHV0Q2xhc3N9LWdyb3VwLXJ0bCAmIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgPiAuQHtpbnB1dENsYXNzfTpsYXN0LWNoaWxkLFxuICAmLWFkZG9uOmxhc3QtY2hpbGQge1xuICAgIC5Ae2lucHV0Q2xhc3N9LWdyb3VwLXJ0bCYge1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSAwIDAgQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICB9XG4gIH1cblxuICAuQHtpbnB1dENsYXNzfS1hZmZpeC13cmFwcGVyIHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIC5Ae2lucHV0Q2xhc3N9LWdyb3VwLXJ0bCYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMCBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAuQHtpbnB1dENsYXNzfS1ncm91cC1ydGwmIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmJi1jb21wYWN0IHtcbiAgICAmID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIC5Ae2lucHV0Q2xhc3N9LWdyb3VwLXJ0bCYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtQGJvcmRlci13aWR0aC1iYXNlO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogQGJvcmRlci13aWR0aC1iYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAqOmZpcnN0LWNoaWxkLFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3Q6Zmlyc3QtY2hpbGQgPiAuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2VsZWN0b3IsXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1hdXRvLWNvbXBsZXRlOmZpcnN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0LFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1jYXNjYWRlci1waWNrZXI6Zmlyc3QtY2hpbGQgLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgICAgLkB7aW5wdXRDbGFzc30tZ3JvdXAtcnRsJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+ICo6bGFzdC1jaGlsZCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tc2VsZWN0Omxhc3QtY2hpbGQgPiAuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2VsZWN0b3IsXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1hdXRvLWNvbXBsZXRlOmxhc3QtY2hpbGQgLkB7YW50LXByZWZpeH0taW5wdXQsXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LWNhc2NhZGVyLXBpY2tlcjpsYXN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0LFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1jYXNjYWRlci1waWNrZXItZm9jdXNlZDpsYXN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgIC5Ae2lucHV0Q2xhc3N9LWdyb3VwLXJ0bCYge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogQGJvcmRlci13aWR0aC1iYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMCBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwLXdyYXBwZXItcnRsICsgLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtd3JhcHBlci1ydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtd3JhcHBlci1ydGw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAmLkB7YW50LXByZWZpeH0taW5wdXQtc2VhcmNoID4gLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAge1xuICAgICAgICAmID4gLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc2VhcmNoLWlucHV0XG5Ac2VhcmNoLXByZWZpeDogfidAe2FudC1wcmVmaXh9LWlucHV0LXNlYXJjaCc7XG5Ac2VhcmNoLXJ0bC1jbHM6IH4nQHtzZWFyY2gtcHJlZml4fS1ydGwnO1xuXG4uQHtzZWFyY2gtcHJlZml4fS1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDtcblxuICAuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICsgLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtYWRkb24gLkB7c2VhcmNoLXByZWZpeH0tYnV0dG9uOm5vdCguQHthbnQtcHJlZml4fS1idG4tcHJpbWFyeSkge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBpbnB1dC1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAYm9yZGVyLWNvbG9yLWJhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cCB7XG4gICAgPiAuQHthbnQtcHJlZml4fS1pbnB1dC1hZmZpeC13cmFwcGVyIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmLWZvY3VzZWQge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBpbnB1dC1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgICByaWdodDogLTFweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAuQHtzZWFyY2gtcHJlZml4fS1idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMCBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi9pbmRleCc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT0gSW5wdXQgPT09PT09PT09PT09PT09PT09PT09PT09PVxuLkB7YW50LXByZWZpeH0taW5wdXQtY2xlYXItaWNvbiB7XG4gIG1hcmdpbjogMCBAaW5wdXQtYWZmaXgtbWFyZ2luO1xuICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICBmb250LXNpemU6IEBmb250LXNpemUtc207XG4gIHZlcnRpY2FsLWFsaWduOiAtMXB4O1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL3B1bGwvMTgxNTFcbiAgLy8gaHR0cHM6Ly9jb2Rlc2FuZGJveC5pby9zL3dpemFyZGx5LXN1bi11MTBiclxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yLXNlY29uZGFyeTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cblxuICAmLWhpZGRlbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT0gVGV4dEFyZWEgPT09PT09PT09PT09PT09PT09PT09PT09XG4uQHthbnQtcHJlZml4fS1pbnB1dC1hZmZpeC13cmFwcGVyLXRleHRhcmVhLXdpdGgtY2xlYXItYnRuIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAuQHthbnQtcHJlZml4fS1pbnB1dC1jbGVhci1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcbkBpbXBvcnQgJy4vbWl4aW4nO1xuQGltcG9ydCAnLi9hZmZpeCc7XG5AaW1wb3J0ICcuL2FsbG93LWNsZWFyJztcblxuLy8gSW5wdXQgc3R5bGVzXG4uQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcbiAgLmlucHV0KCk7XG5cbiAgLy89PSBTdHlsZSBmb3IgaW5wdXQtZ3JvdXA6IGlucHV0IHdpdGggbGFiZWwsIHdpdGggYnV0dG9uIG9yIGRyb3Bkb3duLi4uXG4gICYtZ3JvdXAge1xuICAgIC5yZXNldC1jb21wb25lbnQoKTtcbiAgICAuaW5wdXQtZ3JvdXAofidAe2FudC1wcmVmaXh9LWlucHV0Jyk7XG4gICAgJi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy82NDAzXG4gICAgfVxuICB9XG5cbiAgJi1wYXNzd29yZC1pY29uIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3Itc2Vjb25kYXJ5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBpbnB1dC1pY29uLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICZbdHlwZT0nY29sb3InXSB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG5cbiAgICAmLkB7YW50LXByZWZpeH0taW5wdXQtbGcge1xuICAgICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxnO1xuICAgIH1cbiAgICAmLkB7YW50LXByZWZpeH0taW5wdXQtc20ge1xuICAgICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtO1xuICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0YXJlYSB7XG4gICAgJi1zaG93LWNvdW50OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiBAdGV4dC1jb2xvci1zZWNvbmRhcnk7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb3VudCk7XG4gICAgfVxuICB9XG59XG5cbkBpbXBvcnQgJy4vc2VhcmNoLWlucHV0JztcbkBpbXBvcnQgJy4vcnRsJztcbkBpbXBvcnQgJy4vSUUxMSc7XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL2J1dHRvbi9zdHlsZS9taXhpbic7XG5AaW1wb3J0ICcuL21peGluJztcblxuQHNlYXJjaC1wcmVmaXg6IH4nQHthbnQtcHJlZml4fS1pbnB1dC1zZWFyY2gnO1xuXG4uQHtzZWFyY2gtcHJlZml4fSB7XG4gIC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBAaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgICArIC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwLWFkZG9uIC5Ae3NlYXJjaC1wcmVmaXh9LWJ1dHRvbjpub3QoLkB7YW50LXByZWZpeH0tYnRuLXByaW1hcnkpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBpbnB1dC1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLkB7YW50LXByZWZpeH0taW5wdXQtYWZmaXgtd3JhcHBlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIC8vIGZpeCBzbGlnaHQgaGVpZ2h0IGRpZmYgaW4gRmlyZWZveDpcbiAgLy8gaHR0cHM6Ly9hbnQuZGVzaWduL2NvbXBvbmVudHMvYXV0by1jb21wbGV0ZS1jbi8jY29tcG9uZW50cy1hdXRvLWNvbXBsZXRlLWRlbW8tY2VydGFpbi1jYXRlZ29yeVxuICAuQHthbnQtcHJlZml4fS1pbnB1dC1sZyB7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlIC0gMC4wMDAyO1xuICB9XG5cbiAgPiAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cCB7XG4gICAgPiAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAuQHtzZWFyY2gtcHJlZml4fS1idXR0b24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDA7XG4gICAgICB9XG5cbiAgICAgIC5Ae3NlYXJjaC1wcmVmaXh9LWJ1dHRvbjpub3QoLkB7YW50LXByZWZpeH0tYnRuLXByaW1hcnkpIHtcbiAgICAgICAgY29sb3I6IEB0ZXh0LWNvbG9yLXNlY29uZGFyeTtcblxuICAgICAgICAmLkB7YW50LXByZWZpeH0tYnRuLWxvYWRpbmc6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1idXR0b24ge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgJi1sYXJnZSAmLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG5cbiAgJi1zbWFsbCAmLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG59XG4iLCIvLyBGaXggSW5wdXQgY29tcG9uZW50IGhlaWdodCBpc3N1ZSBpbiBJRTExXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG5cbiAgICAmLWxnIHtcbiAgICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sZztcbiAgICB9XG5cbiAgICAmLXNtIHtcbiAgICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbTtcbiAgICB9XG5cbiAgICAmLWFmZml4LXdyYXBwZXIge1xuICAgICAgPiBpbnB1dC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwidGV4dGFyZWEubnotdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgLy8gSGF2aW5nIDJweCB0b3AgYW5kIGJvdHRvbSBwYWRkaW5nIHNlZW1zIHRvIGZpeCBhIGJ1ZyB3aGVyZSBDaHJvbWUgZ2V0cyBhbiBpbmNvcnJlY3RcbiAgLy8gbWVhc3VyZW1lbnQuIFdlIGp1c3QgaGF2ZSB0byBhY2NvdW50IGZvciBpdCBsYXRlciBhbmQgc3VidHJhY3QgaXQgb2ZmIHRoZSBmaW5hbCByZXN1bHQuXG4gIHBhZGRpbmc6IDJweCAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG59XG5cbi5Ae3NlYXJjaC1wcmVmaXh9IHtcbiAgJi1lbnRlci1idXR0b24ge1xuICAgICYgKyAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC1hZGRvbixcbiAgICBpbnB1dCArIC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAgIC5Ae3NlYXJjaC1ydGwtY2xzfSYge1xuICAgICAgICAuQHtzZWFyY2gtcHJlZml4fS1idXR0b24uQHthbnQtcHJlZml4fS1idG4taWNvbi1vbmx5IHtcbiAgICAgICAgICAuc3F1YXJlKEBidG4taGVpZ2h0LWJhc2UpO1xuXG4gICAgICAgICAgJi5Ae2FudC1wcmVmaXh9LWJ0bi1zbXtcbiAgICAgICAgICAgIC5zcXVhcmUoQGJ0bi1oZWlnaHQtc20pO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLkB7YW50LXByZWZpeH0tYnRuLWxne1xuICAgICAgICAgICAgLnNxdWFyZShAYnRuLWhlaWdodC1sZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG4uYW50Q2hlY2tib3hGbihAY2hlY2tib3gtcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LWNoZWNrYm94Jykge1xuICBAY2hlY2tib3gtaW5uZXItcHJlZml4LWNsczogfidAe2NoZWNrYm94LXByZWZpeC1jbHN9LWlubmVyJztcbiAgLy8g5LiA6Iis54q25oCBXG4gIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9IHtcbiAgICAucmVzZXQtY29tcG9uZW50KCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMC4wOWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS13cmFwcGVyOmhvdmVyICYtaW5uZXIsXG4gICAgJjpob3ZlciAmLWlubmVyLFxuICAgICYtaW5wdXQ6Zm9jdXMgKyAmLWlubmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogQGNoZWNrYm94LWNvbG9yO1xuICAgIH1cblxuICAgICYtY2hlY2tlZDo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgQGNoZWNrYm94LWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGFuaW1hdGlvbjogYW50Q2hlY2tib3hFZmZlY3QgMC4zNnMgZWFzZS1pbi1vdXQ7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlcixcbiAgICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS13cmFwcGVyOmhvdmVyICY6OmFmdGVyIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogQGNoZWNrYm94LXNpemU7XG4gICAgICBoZWlnaHQ6IEBjaGVja2JveC1zaXplO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY2hlY2tib3gtY2hlY2stYmc7XG4gICAgICBib3JkZXI6IEBjaGVja2JveC1ib3JkZXItd2lkdGggQGJvcmRlci1zdHlsZS1iYXNlIEBib3JkZXItY29sb3ItYmFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICAvLyBGaXggSUUgY2hlY2tlZCBzdHlsZVxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTI1OTdcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAY2hlY2std2lkdGg6IChAY2hlY2tib3gtc2l6ZSAvIDE0KSAqIDVweDtcbiAgICAgICAgQGNoZWNrLWhlaWdodDogKEBjaGVja2JveC1zaXplIC8gMTQpICogOHB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDIyJTtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiBAY2hlY2std2lkdGg7XG4gICAgICAgIGhlaWdodDogQGNoZWNrLWhlaWdodDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgQGNoZWNrYm94LWNoZWNrLWNvbG9yO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDApIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgQGVhc2UtaW4tYmFjaywgb3BhY2l0eSAwLjFzO1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIOmAieS4reeKtuaAgVxuICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1jaGVja2VkIC5Ae2NoZWNrYm94LWlubmVyLXByZWZpeC1jbHN9OjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIEBjaGVja2JveC1jaGVjay1jb2xvcjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgxKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBAZWFzZS1vdXQtYmFjayAwLjFzO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgfVxuXG4gIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LWNoZWNrZWQge1xuICAgIC5Ae2NoZWNrYm94LWlubmVyLXByZWZpeC1jbHN9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjaGVja2JveC1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogQGNoZWNrYm94LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJi5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LWNoZWNrZWQge1xuICAgICAgLkB7Y2hlY2tib3gtaW5uZXItcHJlZml4LWNsc306OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LWlucHV0IHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgLkB7Y2hlY2tib3gtaW5uZXItcHJlZml4LWNsc30ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yLWJhc2UgIWltcG9ydGFudDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgKyBzcGFuIHtcbiAgICAgIGNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgIC8vIE5vdCBzaG93IGhpZ2hsaWdodCBib3JkZXIgb2YgY2hlY2tib3ggd2hlbiBkaXNhYmxlZFxuICAgICY6aG92ZXI6OmFmdGVyLFxuICAgIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LXdyYXBwZXI6aG92ZXIgJjo6YWZ0ZXIge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LXdyYXBwZXIge1xuICAgIC5yZXNldC1jb21wb25lbnQoKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogdW5zZXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICYuQHtjaGVja2JveC1wcmVmaXgtY2xzfS13cmFwcGVyLWRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30gKyBzcGFuIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIH1cblxuICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1ncm91cCB7XG4gICAgLnJlc2V0LWNvbXBvbmVudCgpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICYtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IEBjaGVja2JveC1ncm91cC1pdGVtLW1hcmdpbi1yaWdodDtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1pdGVtICsgJi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIOWNiumAieeKtuaAgVxuICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1pbmRldGVybWluYXRlIHtcbiAgICAuQHtjaGVja2JveC1pbm5lci1wcmVmaXgtY2xzfSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY2hlY2tib3gtY2hlY2stYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3ItYmFzZTtcbiAgICB9XG4gICAgLkB7Y2hlY2tib3gtaW5uZXItcHJlZml4LWNsc306OmFmdGVyIHtcbiAgICAgIEBpbmRldGVybWluYXRlLXdpZHRoOiBAY2hlY2tib3gtc2l6ZSAtIDhweDtcbiAgICAgIEBpbmRldGVybWluYXRlLWhlaWdodDogQGNoZWNrYm94LXNpemUgLSA4cHg7XG5cbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IEBpbmRldGVybWluYXRlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiBAaW5kZXRlcm1pbmF0ZS1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY2hlY2tib3gtY29sb3I7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgfVxuXG4gICAgJi5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LWRpc2FibGVkIC5Ae2NoZWNrYm94LWlubmVyLXByZWZpeC1jbHN9OjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6IEBkaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRDaGVja2JveEVmZmVjdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNik7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuLmFudENoZWNrYm94Rm4oQGNoZWNrYm94LXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1jaGVja2JveCcpIHtcbiAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30tcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxuXG4gIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LWdyb3VwIHtcbiAgICAmLWl0ZW0ge1xuICAgICAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30tZ3JvdXAtcnRsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAY2hlY2tib3gtZ3JvdXAtaXRlbS1tYXJnaW4tcmlnaHQ7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1ncm91cC1ydGwgJiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLWl0ZW0gKyAmLWl0ZW0ge1xuICAgICAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30tZ3JvdXAtcnRsICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGNoZWNrYm94LWdyb3VwLWl0ZW0tbWFyZ2luLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFudC1jaGVja2JveCArIHNwYW4ge1xuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBjdXN0b21pemUgZGFyayBjb21wb25lbnRzIGJhY2tncm91bmQgaW4gcG9wb3ZlciBjb250YWluZXJzKGxpa2UgTW9kYWwsIERyYXdlciwgQ2FyZCwgUG9wb3ZlciwgUG9wY29uZmlybSwgTm90aWZpY2F0aW9uLCAuLi4pXG4vLyBmb3IgZGFyayB0aGVtZVxuLnBvcG92ZXItY3VzdG9taXplLWJnKEBjb250YWluZXJDbGFzcywgQGJhY2tncm91bmQ6IEBwb3BvdmVyLWJhY2tncm91bmQsIEBwcmVmaXg6IEBhbnQtcHJlZml4KVxuICB3aGVuXG4gIChAdGhlbWUgPSBkYXJrKSB7XG4gIEBwaWNrZXItcHJlZml4LWNsczogfidAe3ByZWZpeH0tcGlja2VyJztcbiAgQHNsaWRlci1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS1zbGlkZXInO1xuICBAYW5jaG9yLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LWFuY2hvcic7XG4gIEBjb2xsYXBzZS1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS1jb2xsYXBzZSc7XG4gIEB0YWItcHJlZml4LWNsczogfidAe3ByZWZpeH0tdGFicyc7XG4gIEB0aW1lbGluZS1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS10aW1lbGluZSc7XG4gIEB0cmVlLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LXRyZWUnO1xuICBAY2FyZC1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS1jYXJkJztcbiAgQGJhZGdlLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LWJhZGdlJztcbiAgQHRyYW5zZmVyLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LXRyYW5zZmVyJztcbiAgQGNhbGVuZGFyLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LXBpY2tlci1jYWxlbmRhcic7XG4gIEBjYWxlbmRhci1waWNrZXItcHJlZml4LWNsczogfidAe3ByZWZpeH0tcGlja2VyJztcbiAgQHRhYmxlLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LXRhYmxlJztcblxuICBAcG9wb3Zlci1ib3JkZXI6IEBib3JkZXItd2lkdGgtYmFzZSBAYm9yZGVyLXN0eWxlLWJhc2UgQHBvcG92ZXItY3VzdG9taXplLWJvcmRlci1jb2xvcjtcblxuICAuQHtjb250YWluZXJDbGFzc30ge1xuICAgIC5Ae3BpY2tlci1wcmVmaXgtY2xzfS1jbGVhcixcbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30taGFuZGxlLFxuICAgIC5Ae2FuY2hvci1wcmVmaXgtY2xzfS13cmFwcGVyLFxuICAgIC5Ae2NvbGxhcHNlLXByZWZpeC1jbHN9LWNvbnRlbnQsXG4gICAgLkB7dGltZWxpbmUtcHJlZml4LWNsc30taXRlbS1oZWFkLFxuICAgIC5Ae2NhcmQtcHJlZml4LWNsc30ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLkB7dHJhbnNmZXItcHJlZml4LWNsc30ge1xuICAgICAgJi1saXN0IHtcbiAgICAgICAgJi1oZWFkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLWNvbnRlbnQtaXRlbTpub3QoLkB7dHJhbnNmZXItcHJlZml4LWNsc30tbGlzdC1jb250ZW50LWl0ZW0tZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaXRlbS1ob3Zlci1iZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRyLkB7dGFibGUtcHJlZml4LWNsc30tZXhwYW5kZWQtcm93IHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzI3MjcyNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuQHt0YWJsZS1wcmVmaXgtY2xzfS5Ae3RhYmxlLXByZWZpeC1jbHN9LXNtYWxsIHtcbiAgICAgIHRoZWFkIHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLkB7dGFibGUtcHJlZml4LWNsc30ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICAuQHt0YWJsZS1wcmVmaXgtY2xzfS1yb3ctZXhwYW5kLWljb24ge1xuICAgICAgICBib3JkZXI6IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoZWFkIHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyNzI3O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogQHBvcG92ZXItYm9yZGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGJvZHkge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICYuQHt0YWJsZS1wcmVmaXgtY2xzfS1jZWxsLWZpeC1sZWZ0LFxuICAgICAgICAgICAgJi5Ae3RhYmxlLXByZWZpeC1jbHN9LWNlbGwtZml4LXJpZ2h0IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYuQHt0YWJsZS1wcmVmaXgtY2xzfS1yb3c6aG92ZXIge1xuICAgICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0YWJsZS1oZWFkZXItc29ydC1hY3RpdmUtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLkB7dGFibGUtcHJlZml4LWNsc30tYm9yZGVyZWQge1xuICAgICAgICAuQHt0YWJsZS1wcmVmaXgtY2xzfS10aXRsZSB7XG4gICAgICAgICAgYm9yZGVyOiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBDZWxsID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIHRoZWFkID4gdHIgPiB0aCxcbiAgICAgICAgdGJvZHkgPiB0ciA+IHRkLFxuICAgICAgICB0Zm9vdCA+IHRyID4gdGgsXG4gICAgICAgIHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaXhlZCByaWdodCBzaG91bGQgcHJvdmlkZXMgYWRkaXRpb25hbCBib3JkZXJcbiAgICAgICAgLkB7dGFibGUtcHJlZml4LWNsc30tY2VsbC1maXgtcmlnaHQtZmlyc3Q6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT0gSGVhZGVyID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgdGFibGUgPiB7XG4gICAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgPiB0cjpub3QoOmxhc3QtY2hpbGQpID4gdGgge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBib3JkZXItY29sb3Itc3BsaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09IENvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAuQHt0YWJsZS1wcmVmaXgtY2xzfS1jb250YWluZXIge1xuICAgICAgICAgIGJvcmRlcjogQHBvcG92ZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gRXhwYW5kYWJsZSA9PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAuQHt0YWJsZS1wcmVmaXgtY2xzfS1leHBhbmRlZC1yb3ctZml4ZWQge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogQHBvcG92ZXItYm9yZGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5Ae3RhYmxlLXByZWZpeC1jbHN9LWZvb3RlciB7XG4gICAgICAgICAgYm9yZGVyOiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5Ae3RhYmxlLXByZWZpeC1jbHN9LWZpbHRlci10cmlnZ2VyLWNvbnRhaW5lci1vcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUyNTI1MjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuQHtjYWxlbmRhci1wcmVmaXgtY2xzfS1mdWxsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgLkB7Y2FsZW5kYXItcGlja2VyLXByZWZpeC1jbHN9LXBhbmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICAgIC5Ae2NhbGVuZGFyLXByZWZpeC1jbHN9LWRhdGUge1xuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBAcG9wb3Zlci1jdXN0b21pemUtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7dGFiLXByZWZpeC1jbHN9IHtcbiAgICAgICYuQHt0YWItcHJlZml4LWNsc30tY2FyZCAuQHt0YWItcHJlZml4LWNsc30tY2FyZC1iYXIgLkB7dGFiLXByZWZpeC1jbHN9LXRhYi1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQGJvcmRlci13aWR0aC1iYXNlIHNvbGlkIEBiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae2JhZGdlLXByZWZpeC1jbHN9IHtcbiAgICAgICYtY291bnQge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggQGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7dHJlZS1wcmVmaXgtY2xzfSB7XG4gICAgICAmLXNob3ctbGluZSB7XG4gICAgICAgIC5Ae3RyZWUtcHJlZml4LWNsc30tc3dpdGNoZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcbkBpbXBvcnQgJy4vY3VzdG9taXplLmxlc3MnO1xuXG5Abm90aWZpY2F0aW9uLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1ub3RpZmljYXRpb24nO1xuQG5vdGlmaWNhdGlvbi13aWR0aDogMzg0cHg7XG5Abm90aWZpY2F0aW9uLXBhZGRpbmc6IEBub3RpZmljYXRpb24tcGFkZGluZy12ZXJ0aWNhbCBAbm90aWZpY2F0aW9uLXBhZGRpbmctaG9yaXpvbnRhbDtcbkBub3RpZmljYXRpb24tbWFyZ2luLWJvdHRvbTogMTZweDtcbkBub3RpZmljYXRpb24tbWFyZ2luLWVkZ2U6IDI0cHg7XG5cbi5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfSB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IEB6aW5kZXgtbm90aWZpY2F0aW9uO1xuICBtYXJnaW4tcmlnaHQ6IEBub3RpZmljYXRpb24tbWFyZ2luLWVkZ2U7XG5cbiAgJi10b3BMZWZ0LFxuICAmLWJvdHRvbUxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogQG5vdGlmaWNhdGlvbi1tYXJnaW4tZWRnZTtcblxuICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1mYWRlLWVudGVyLkB7bm90aWZpY2F0aW9uLXByZWZpeC1jbHN9LWZhZGUtZW50ZXItYWN0aXZlLFxuICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1mYWRlLWFwcGVhci5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1mYWRlLWFwcGVhci1hY3RpdmUge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IE5vdGlmaWNhdGlvbkxlZnRGYWRlSW47XG4gICAgfVxuICB9XG5cbiAgJi1jbG9zZS1pY29uIHtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmLWhvb2staG9sZGVyLFxuICAmLW5vdGljZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBAbm90aWZpY2F0aW9uLXdpZHRoO1xuICAgIG1heC13aWR0aDogfidjYWxjKDEwMHZ3IC0gQHtub3RpZmljYXRpb24tbWFyZ2luLWVkZ2V9ICogMiknO1xuICAgIG1hcmdpbi1ib3R0b206IEBub3RpZmljYXRpb24tbWFyZ2luLWJvdHRvbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBiYWNrZ3JvdW5kOiBAbm90aWZpY2F0aW9uLWJnO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm94LXNoYWRvdzogQHNoYWRvdy0yO1xuXG4gICAgLkB7bm90aWZpY2F0aW9uLXByZWZpeC1jbHN9LXRvcExlZnQgJixcbiAgICAuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tYm90dG9tTGVmdCAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtaG9vay1ob2xkZXIgPiAmLW5vdGljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJi1ub3RpY2Uge1xuICAgIHBhZGRpbmc6IEBub3RpZmljYXRpb24tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG5cbiAgICAmLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgY29sb3I6IEBoZWFkaW5nLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxnO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzU4NDYjaXNzdWVjb21tZW50LTI5NjI0NDE0MFxuICAgICAgJi1zaW5nbGUtbGluZS1hdXRvLW1hcmdpbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogfidjYWxjKEB7bm90aWZpY2F0aW9uLXdpZHRofSAtIEB7bm90aWZpY2F0aW9uLXBhZGRpbmctaG9yaXpvbnRhbH0gKiAyIC0gMjRweCAtIDQ4cHggLSAxMDAlKSc7XG4gICAgICAgIG1heC13aWR0aDogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICAgIH1cblxuICAgICYtY2xvc2FibGUgJi1tZXNzYWdlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgfVxuXG4gICAgJi13aXRoLWljb24gJi1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxnO1xuICAgIH1cblxuICAgICYtd2l0aC1pY29uICYtZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQ4cHg7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICB9XG5cbiAgICAvLyBJY29uICYgY29sb3Igc3R5bGUgaW4gZGlmZmVyZW50IHNlbGVjdG9yIGxldmVsXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTY1MDNcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xNTUxMlxuICAgICYtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxuXG4gICAgLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0mLWljb24ge1xuICAgICAgJi1zdWNjZXNzIHtcbiAgICAgICAgY29sb3I6IEBzdWNjZXNzLWNvbG9yO1xuICAgICAgfVxuICAgICAgJi1pbmZvIHtcbiAgICAgICAgY29sb3I6IEBpbmZvLWNvbG9yO1xuICAgICAgfVxuICAgICAgJi13YXJuaW5nIHtcbiAgICAgICAgY29sb3I6IEB3YXJuaW5nLWNvbG9yO1xuICAgICAgfVxuICAgICAgJi1lcnJvciB7XG4gICAgICAgIGNvbG9yOiBAZXJyb3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICByaWdodDogMjJweDtcbiAgICAgIGNvbG9yOiBAdGV4dC1jb2xvci1zZWNvbmRhcnk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAgICAgY29sb3I6IGZhZGUoQHdoaXRlLCA4NSUpO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgICAgICBjb2xvcjogc2hhZGUoQHRleHQtY29sb3Itc2Vjb25kYXJ5LCA0MCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1idG4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICB9XG4gIH1cblxuICAubm90aWZpY2F0aW9uLWZhZGUtZWZmZWN0IHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMjRzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICB9XG5cbiAgJi1mYWRlLWVudGVyLFxuICAmLWZhZGUtYXBwZWFyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC5ub3RpZmljYXRpb24tZmFkZS1lZmZlY3QoKTtcblxuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIH1cblxuICAmLWZhZGUtbGVhdmUge1xuICAgIC5ub3RpZmljYXRpb24tZmFkZS1lZmZlY3QoKTtcblxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICB9XG5cbiAgJi1mYWRlLWVudGVyJi1mYWRlLWVudGVyLWFjdGl2ZSxcbiAgJi1mYWRlLWFwcGVhciYtZmFkZS1hcHBlYXItYWN0aXZlIHtcbiAgICBhbmltYXRpb24tbmFtZTogTm90aWZpY2F0aW9uRmFkZUluO1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICB9XG5cbiAgJi1mYWRlLWxlYXZlJi1mYWRlLWxlYXZlLWFjdGl2ZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IE5vdGlmaWNhdGlvbkZhZGVPdXQ7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBOb3RpZmljYXRpb25GYWRlSW4ge1xuICAwJSB7XG4gICAgbGVmdDogQG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIE5vdGlmaWNhdGlvbkxlZnRGYWRlSW4ge1xuICAwJSB7XG4gICAgcmlnaHQ6IEBub3RpZmljYXRpb24td2lkdGg7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICByaWdodDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgTm90aWZpY2F0aW9uRmFkZU91dCB7XG4gIDAlIHtcbiAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiBAbm90aWZpY2F0aW9uLW1hcmdpbi1ib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuQG5vdGlmaWNhdGlvbi1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tbm90aWZpY2F0aW9uJztcblxuLkB7bm90aWZpY2F0aW9uLXByZWZpeC1jbHN9IHtcbiAgJi1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG5cbiAgJi1ub3RpY2Uge1xuICAgICYtY2xvc2FibGUgJi1tZXNzYWdlIHtcbiAgICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXdpdGgtaWNvbiAmLW1lc3NhZ2Uge1xuICAgICAgLkB7bm90aWZpY2F0aW9uLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0OHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXdpdGgtaWNvbiAmLWRlc2NyaXB0aW9uIHtcbiAgICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNsb3NlIHtcbiAgICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtYnRuIHtcbiAgICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkByYXRlLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1yYXRlJztcblxuLkB7cmF0ZS1wcmVmaXgtY2xzfSB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IEByYXRlLXN0YXItY29sb3I7XG4gIGZvbnQtc2l6ZTogQHJhdGUtc3Rhci1zaXplO1xuICBsaW5lLWhlaWdodDogdW5zZXQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJi1kaXNhYmxlZCAmLXN0YXIge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgJi1zdGFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0cmFuc2Zvcm06IEByYXRlLXN0YXItaG92ZXItc2NhbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1maXJzdCxcbiAgICAmLXNlY29uZCB7XG4gICAgICBjb2xvcjogQHJhdGUtc3Rhci1iZztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1maXJzdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICYtaGFsZiAmLWZpcnN0LFxuICAgICYtaGFsZiAmLXNlY29uZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYtaGFsZiAmLWZpcnN0LFxuICAgICYtZnVsbCAmLXNlY29uZCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgOHB4O1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICB9XG59XG5cbkBpbXBvcnQgJy4vcnRsJztcbiIsIi5Ae3JhdGUtcHJlZml4LWNsc30ge1xuICAmLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cblxuICAmLXN0YXIge1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAuQHtyYXRlLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZmlyc3Qge1xuICAgICAgLkB7cmF0ZS1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkB0b29sdGlwLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS10b29sdGlwJztcblxuQHRvb2x0aXAtYXJyb3ctc2hhZG93LXdpZHRoOiAzcHg7XG5cbkB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aDogc3FydChAdG9vbHRpcC1hcnJvdy13aWR0aCAqIEB0b29sdGlwLWFycm93LXdpZHRoICogMikgK1xuICBAdG9vbHRpcC1hcnJvdy1zaGFkb3ctd2lkdGggKiAyO1xuXG5AdG9vbHRpcC1hcnJvdy1vZmZzZXQtdmVydGljYWw6IDVweDsgLy8gOCAtIDNweFxuQHRvb2x0aXAtYXJyb3ctb2Zmc2V0LWhvcml6b250YWw6IDEzcHg7IC8vIDE2IC0gM3B4XG5cbi8vIEJhc2UgY2xhc3Ncbi5Ae3Rvb2x0aXAtcHJlZml4LWNsc30ge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiBAemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IEB0b29sdGlwLW1heC13aWR0aDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAmLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYtcGxhY2VtZW50LXRvcCxcbiAgJi1wbGFjZW1lbnQtdG9wTGVmdCxcbiAgJi1wbGFjZW1lbnQtdG9wUmlnaHQge1xuICAgIHBhZGRpbmctYm90dG9tOiBAdG9vbHRpcC1kaXN0YW5jZTtcbiAgfVxuXG4gICYtcGxhY2VtZW50LXJpZ2h0LFxuICAmLXBsYWNlbWVudC1yaWdodFRvcCxcbiAgJi1wbGFjZW1lbnQtcmlnaHRCb3R0b20ge1xuICAgIHBhZGRpbmctbGVmdDogQHRvb2x0aXAtZGlzdGFuY2U7XG4gIH1cblxuICAmLXBsYWNlbWVudC1ib3R0b20sXG4gICYtcGxhY2VtZW50LWJvdHRvbUxlZnQsXG4gICYtcGxhY2VtZW50LWJvdHRvbVJpZ2h0IHtcbiAgICBwYWRkaW5nLXRvcDogQHRvb2x0aXAtZGlzdGFuY2U7XG4gIH1cblxuICAmLXBsYWNlbWVudC1sZWZ0LFxuICAmLXBsYWNlbWVudC1sZWZ0VG9wLFxuICAmLXBsYWNlbWVudC1sZWZ0Qm90dG9tIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBAdG9vbHRpcC1kaXN0YW5jZTtcbiAgfVxuXG4gIC8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbiAgJi1pbm5lciB7XG4gICAgbWluLXdpZHRoOiAzMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBjb2xvcjogQHRvb2x0aXAtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB0b29sdGlwLWJnO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm94LXNoYWRvdzogQGJveC1zaGFkb3ctYmFzZTtcbiAgfVxuXG4gIC8vIEFycm93c1xuICAmLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IEB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aDtcbiAgICBoZWlnaHQ6IEB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJi1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgaGVpZ2h0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b29sdGlwLWJnO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLXBsYWNlbWVudC10b3AgJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtdG9wTGVmdCAmLWFycm93LFxuICAmLXBsYWNlbWVudC10b3BSaWdodCAmLWFycm93IHtcbiAgICBib3R0b206IEB0b29sdGlwLWRpc3RhbmNlIC0gQHRvb2x0aXAtYXJyb3ctcm90YXRlLXdpZHRoO1xuXG4gICAgJi1jb250ZW50IHtcbiAgICAgIGJveC1zaGFkb3c6IEB0b29sdGlwLWFycm93LXNoYWRvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy1zaGFkb3ctd2lkdGggN3B4IGZhZGUoQGJsYWNrLCA3JSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoKC1AdG9vbHRpcC1hcnJvdy1yb3RhdGUtd2lkdGggLyAyKSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAmLXBsYWNlbWVudC10b3AgJi1hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYtcGxhY2VtZW50LXRvcExlZnQgJi1hcnJvdyB7XG4gICAgbGVmdDogQHRvb2x0aXAtYXJyb3ctb2Zmc2V0LWhvcml6b250YWw7XG4gIH1cblxuICAmLXBsYWNlbWVudC10b3BSaWdodCAmLWFycm93IHtcbiAgICByaWdodDogQHRvb2x0aXAtYXJyb3ctb2Zmc2V0LWhvcml6b250YWw7XG4gIH1cblxuICAmLXBsYWNlbWVudC1yaWdodCAmLWFycm93LFxuICAmLXBsYWNlbWVudC1yaWdodFRvcCAmLWFycm93LFxuICAmLXBsYWNlbWVudC1yaWdodEJvdHRvbSAmLWFycm93IHtcbiAgICBsZWZ0OiBAdG9vbHRpcC1kaXN0YW5jZSAtIEB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aDtcblxuICAgICYtY29udGVudCB7XG4gICAgICBib3gtc2hhZG93OiAtQHRvb2x0aXAtYXJyb3ctc2hhZG93LXdpZHRoIEB0b29sdGlwLWFycm93LXNoYWRvdy13aWR0aCA3cHggZmFkZShAYmxhY2ssIDclKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgoQHRvb2x0aXAtYXJyb3ctcm90YXRlLXdpZHRoIC8gMikpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG5cbiAgJi1wbGFjZW1lbnQtcmlnaHQgJi1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtcmlnaHRUb3AgJi1hcnJvdyB7XG4gICAgdG9wOiBAdG9vbHRpcC1hcnJvdy1vZmZzZXQtdmVydGljYWw7XG4gIH1cblxuICAmLXBsYWNlbWVudC1yaWdodEJvdHRvbSAmLWFycm93IHtcbiAgICBib3R0b206IEB0b29sdGlwLWFycm93LW9mZnNldC12ZXJ0aWNhbDtcbiAgfVxuXG4gICYtcGxhY2VtZW50LWxlZnQgJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtbGVmdFRvcCAmLWFycm93LFxuICAmLXBsYWNlbWVudC1sZWZ0Qm90dG9tICYtYXJyb3cge1xuICAgIHJpZ2h0OiBAdG9vbHRpcC1kaXN0YW5jZSAtIEB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aDtcblxuICAgICYtY29udGVudCB7XG4gICAgICBib3gtc2hhZG93OiBAdG9vbHRpcC1hcnJvdy1zaGFkb3ctd2lkdGggLUB0b29sdGlwLWFycm93LXNoYWRvdy13aWR0aCA3cHggZmFkZShAYmxhY2ssIDclKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgoLUB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aCAvIDIpKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxuXG4gICYtcGxhY2VtZW50LWxlZnQgJi1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtbGVmdFRvcCAmLWFycm93IHtcbiAgICB0b3A6IEB0b29sdGlwLWFycm93LW9mZnNldC12ZXJ0aWNhbDtcbiAgfVxuXG4gICYtcGxhY2VtZW50LWxlZnRCb3R0b20gJi1hcnJvdyB7XG4gICAgYm90dG9tOiBAdG9vbHRpcC1hcnJvdy1vZmZzZXQtdmVydGljYWw7XG4gIH1cblxuICAmLXBsYWNlbWVudC1ib3R0b20gJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtYm90dG9tTGVmdCAmLWFycm93LFxuICAmLXBsYWNlbWVudC1ib3R0b21SaWdodCAmLWFycm93IHtcbiAgICB0b3A6IEB0b29sdGlwLWRpc3RhbmNlIC0gQHRvb2x0aXAtYXJyb3ctcm90YXRlLXdpZHRoO1xuXG4gICAgJi1jb250ZW50IHtcbiAgICAgIGJveC1zaGFkb3c6IC1AdG9vbHRpcC1hcnJvdy1zaGFkb3ctd2lkdGggLUB0b29sdGlwLWFycm93LXNoYWRvdy13aWR0aCA3cHggZmFkZShAYmxhY2ssIDclKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgoQHRvb2x0aXAtYXJyb3ctcm90YXRlLXdpZHRoIC8gMikpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG5cbiAgJi1wbGFjZW1lbnQtYm90dG9tICYtYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLXBsYWNlbWVudC1ib3R0b21MZWZ0ICYtYXJyb3cge1xuICAgIGxlZnQ6IEB0b29sdGlwLWFycm93LW9mZnNldC1ob3Jpem9udGFsO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtYm90dG9tUmlnaHQgJi1hcnJvdyB7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LW9mZnNldC1ob3Jpem9udGFsO1xuICB9XG59XG5cbi5nZW5lcmF0b3ItdG9vbHRpcC1wcmVzZXQtY29sb3IoQGk6IGxlbmd0aChAcHJlc2V0LWNvbG9ycykpIHdoZW4gKEBpID4gMCkge1xuICAuZ2VuZXJhdG9yLXRvb2x0aXAtcHJlc2V0LWNvbG9yKEBpIC0gMSk7XG4gIEBjb2xvcjogZXh0cmFjdChAcHJlc2V0LWNvbG9ycywgQGkpO1xuICBAbGlnaHRDb2xvcjogJ0B7Y29sb3J9LTYnO1xuICAuQHt0b29sdGlwLXByZWZpeC1jbHN9LUB7Y29sb3J9IHtcbiAgICAuQHt0b29sdGlwLXByZWZpeC1jbHN9LWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBAbGlnaHRDb2xvcjtcbiAgICB9XG4gICAgLkB7dG9vbHRpcC1wcmVmaXgtY2xzfS1hcnJvdyB7XG4gICAgICAmLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQGxpZ2h0Q29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uZ2VuZXJhdG9yLXRvb2x0aXAtcHJlc2V0LWNvbG9yKCk7XG5cbkBpbXBvcnQgJy4vcnRsJztcbiIsIkB0b29sdGlwLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS10b29sdGlwJztcblxuLy8gQmFzZSBjbGFzc1xuLkB7dG9vbHRpcC1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxuICAvLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4gICYtaW5uZXIge1xuICAgIC5Ae3Rvb2x0aXAtcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIuYW50LXRvb2x0aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuQHNsaWRlci1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tc2xpZGVyJztcblxuLkB7c2xpZGVyLXByZWZpeC1jbHN9IHtcbiAgLnJlc2V0LWNvbXBvbmVudCgpO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IEBzbGlkZXItbWFyZ2luO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG5cbiAgLnZlcnRpY2FsKCk7XG5cbiAgJi13aXRoLW1hcmtzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG5cbiAgJi1yYWlsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gIH1cblxuICAmLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlci10cmFjay1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICB9XG5cbiAgJi1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogQHNsaWRlci1oYW5kbGUtc2l6ZTtcbiAgICBoZWlnaHQ6IEBzbGlkZXItaGFuZGxlLXNpemU7XG4gICAgbWFyZ2luLXRvcDogQHNsaWRlci1oYW5kbGUtbWFyZ2luLXRvcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogc29saWQgQHNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoIEBzbGlkZXItaGFuZGxlLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3gtc2hhZG93OiBAc2xpZGVyLWhhbmRsZS1zaGFkb3c7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzLCBib3gtc2hhZG93IDAuNnMsXG4gICAgICB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4xOCwgMC44OSwgMC4zMiwgMS4yOCk7XG5cbiAgICAmLWRyYWdnaW5nJi1kcmFnZ2luZyYtZHJhZ2dpbmcge1xuICAgICAgYm9yZGVyLWNvbG9yOiBAc2xpZGVyLWhhbmRsZS1jb2xvci1mb2N1cztcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDVweCBAc2xpZGVyLWhhbmRsZS1jb2xvci1mb2N1cy1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IEBzbGlkZXItaGFuZGxlLWNvbG9yLWZvY3VzO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDVweCBAc2xpZGVyLWhhbmRsZS1jb2xvci1mb2N1cy1zaGFkb3c7XG4gICAgfVxuXG4gICAgJi5Ae2FudC1wcmVmaXh9LXRvb2x0aXAtb3BlbiB7XG4gICAgICBib3JkZXItY29sb3I6IEBzbGlkZXItaGFuZGxlLWNvbG9yLXRvb2x0aXAtb3BlbjtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tcmFpbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICB9XG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXRyYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXItdHJhY2stYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICB9XG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LWhhbmRsZTpub3QoLkB7YW50LXByZWZpeH0tdG9vbHRpcC1vcGVuKSB7XG4gICAgICBib3JkZXItY29sb3I6IEBzbGlkZXItaGFuZGxlLWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYtbWFyayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTRweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICB9XG5cbiAgJi1tYXJrLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yLXNlY29uZGFyeTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd29yZC1icmVhazoga2VlcC1hbGw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJi1hY3RpdmUge1xuICAgICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYtc3RlcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi1kb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29tcG9uZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgQHNsaWRlci1kb3QtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgfVxuICAgICYtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogQHNsaWRlci1kb3QtYm9yZGVyLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cblxuICAmLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXRyYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXItZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30taGFuZGxlLFxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1kb3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbXBvbmVudC1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAc2xpZGVyLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tbWFyay10ZXh0LFxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1kb3Qge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4udmVydGljYWwoKSB7XG4gICYtdmVydGljYWwge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDZweCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgNHB4O1xuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJhaWwge1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tdHJhY2sge1xuICAgICAgd2lkdGg6IDRweDtcbiAgICB9XG5cbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30taGFuZGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7IC8vIHdlIGNob3VsZCBjb25zaWRlciBib3JkZXIgd2lkdGggYXMgd2VsbDogKDEwICsgMiApIC8gMlxuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgfVxuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LW1hcmsge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTJweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1tYXJrLXRleHQge1xuICAgICAgbGVmdDogNHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tc3RlcCB7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1kb3Qge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTRweDtcbiAgICB9XG4gIH1cblxuICAmLXRvb2x0aXAge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzIwMDE0XG4gICAgLkB7YW50LXByZWZpeH0tdG9vbHRpcC1pbm5lciB7XG4gICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuQHNsaWRlci1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tc2xpZGVyJztcblxuLkB7c2xpZGVyLXByZWZpeC1jbHN9IHtcbiAgJi1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG5cbiAgJi1tYXJrIHtcbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYtZG90IHtcbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udmVydGljYWwoKSB7XG4gICYtdmVydGljYWwge1xuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1oYW5kbGUge1xuICAgICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1tYXJrIHtcbiAgICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LW1hcmstdGV4dCB7XG4gICAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LWRvdCB7XG4gICAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdib3gnO1xuXG4ubW9kYWwtbWFzaygpIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJi56b29tLWVudGVyLFxuICAmLnpvb20tYXBwZWFyIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IC8vIHJlc2V0IHNjYWxlIGF2b2lkIG1vdXNlUG9zaXRpb24gYnVnXG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IEBhbmltYXRpb24tZHVyYXRpb24tc2xvdztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTE3NzdcbiAgfVxuXG4gICYtbWFzayB7XG4gICAgLmJveChmaXhlZCk7XG4gICAgei1pbmRleDogQHppbmRleC1tb2RhbC1tYXNrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbW9kYWwtbWFzay1iZztcblxuICAgICYtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi13cmFwIHtcbiAgICAuYm94KGZpeGVkKTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBvdXRsaW5lOiAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuIiwiQGRpYWxvZy1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tbW9kYWwnO1xuQHRhYmxlLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS10YWJsZSc7XG5cbi5Ae2RpYWxvZy1wcmVmaXgtY2xzfSB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcbiAgLm1vZGFsLW1hc2soKTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuXG4gICYtd3JhcCB7XG4gICAgei1pbmRleDogQHppbmRleC1tb2RhbDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogQG1vZGFsLWhlYWRpbmctY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IEBtb2RhbC1oZWFkZXItdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBAbW9kYWwtaGVhZGVyLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1jb250ZW50LWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm94LXNoYWRvdzogQHNoYWRvdy0yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG5cbiAgJi1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBAemluZGV4LXBvcHVwLWNsb3NlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IEBtb2RhbC1jbG9zZS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICYteCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBAbW9kYWwtaGVhZGVyLWNsb3NlLXNpemU7XG4gICAgICBoZWlnaHQ6IEBtb2RhbC1oZWFkZXItY2xvc2Utc2l6ZTtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sZztcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAbW9kYWwtaGVhZGVyLWNsb3NlLXNpemU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQGljb24tY29sb3ItaG92ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IEBtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogQG1vZGFsLWhlYWRlci1iZztcbiAgICBib3JkZXItYm90dG9tOiBAbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBAbW9kYWwtaGVhZGVyLWJvcmRlci1zdHlsZVxuICAgICAgQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3Itc3BsaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgfVxuXG4gICYtYm9keSB7XG4gICAgcGFkZGluZzogQG1vZGFsLWJvZHktcGFkZGluZztcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB9XG5cbiAgJi1mb290ZXIge1xuICAgIHBhZGRpbmc6IEBtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCBAbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBAbW9kYWwtZm9vdGVyLWJnO1xuICAgIGJvcmRlci10b3A6IEBtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIEBtb2RhbC1mb290ZXItYm9yZGVyLXN0eWxlXG4gICAgICBAbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvci1zcGxpdDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gICAgYnV0dG9uICsgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxuXG4gICYtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4uQHtkaWFsb2ctcHJlZml4LWNsc30tY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG4gIC5Ae2RpYWxvZy1wcmVmaXgtY2xzfSB7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gIC5Ae2RpYWxvZy1wcmVmaXgtY2xzfSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTZweCk7XG4gICAgbWFyZ2luOiA4cHggYXV0bztcbiAgfVxuICAuQHtkaWFsb2ctcHJlZml4LWNsc30tY2VudGVyZWQge1xuICAgIC5Ae2RpYWxvZy1wcmVmaXgtY2xzfSB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiLmJveChAcG9zaXRpb246IGFic29sdXRlKSB7XG4gIHBvc2l0aW9uOiBAcG9zaXRpb247XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBjb25maXJtLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1tb2RhbC1jb25maXJtJztcblxuLkB7Y29uZmlybS1wcmVmaXgtY2xzfSB7XG4gIC5Ae2FudC1wcmVmaXh9LW1vZGFsLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5Ae2FudC1wcmVmaXh9LW1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6IEBtb2RhbC1jb25maXJtLWJvZHktcGFkZGluZztcbiAgfVxuXG4gICYtYm9keS13cmFwcGVyIHtcbiAgICAuY2xlYXJmaXgoKTtcbiAgfVxuXG4gICYtYm9keSB7XG4gICAgLkB7Y29uZmlybS1wcmVmaXgtY2xzfS10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIGNyZWF0ZSBCRkMgdG8gYXZvaWRcbiAgICAgIC8vIGh0dHBzOi8vdXNlci1pbWFnZXMuZ2l0aHVidXNlcmNvbnRlbnQuY29tLzUwNzYxNS8zNzcwMjUxMC1iYTg0NGUwNi0yZDJkLTExZTgtOWI2Ny04ZTE5YmU1N2Y0NDUucG5nXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgY29sb3I6IEBoZWFkaW5nLWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sZztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgLkB7Y29uZmlybS1wcmVmaXgtY2xzfS1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICAgIH1cblxuICAgID4gLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICAgIC8vIGBjb250ZW50YCBhZnRlciBgaWNvbmAgc2hvdWxkIHNldCBtYXJnaW5MZWZ0XG4gICAgICArIC5Ae2NvbmZpcm0tcHJlZml4LWNsc30tdGl0bGUgKyAuQHtjb25maXJtLXByZWZpeC1jbHN9LWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuQHtjb25maXJtLXByZWZpeC1jbHN9LWJ0bnMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuXG4gICAgYnV0dG9uICsgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxuXG4gICYtZXJyb3IgJi1ib2R5ID4gLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgIGNvbG9yOiBAZXJyb3ItY29sb3I7XG4gIH1cblxuICAmLXdhcm5pbmcgJi1ib2R5ID4gLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0sXG4gICYtY29uZmlybSAmLWJvZHkgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgY29sb3I6IEB3YXJuaW5nLWNvbG9yO1xuICB9XG5cbiAgJi1pbmZvICYtYm9keSA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICBjb2xvcjogQGluZm8tY29sb3I7XG4gIH1cblxuICAmLXN1Y2Nlc3MgJi1ib2R5ID4gLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgIGNvbG9yOiBAc3VjY2Vzcy1jb2xvcjtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBkaWFsb2ctcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LW1vZGFsJztcbkBjb25maXJtLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1tb2RhbC1jb25maXJtJztcbkBkaWFsb2ctd3JhcC1ydGwtY2xzOiB+J0B7ZGlhbG9nLXByZWZpeC1jbHN9LXdyYXAtcnRsJztcblxuLkB7ZGlhbG9nLXByZWZpeC1jbHN9IHtcbiAgJi13cmFwIHtcbiAgICAmLXJ0bCB7XG4gICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB9XG4gIH1cblxuICAmLWNsb3NlIHtcbiAgICAuQHtkaWFsb2ctd3JhcC1ydGwtY2xzfSAmIHtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAmLWZvb3RlciB7XG4gICAgLkB7ZGlhbG9nLXdyYXAtcnRsLWNsc30gJiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBidXR0b24gKyBidXR0b24ge1xuICAgICAgLkB7ZGlhbG9nLXdyYXAtcnRsLWNsc30gJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWNvbmZpcm0ge1xuICAgICYtYm9keSB7XG4gICAgICAuQHtkaWFsb2ctd3JhcC1ydGwtY2xzfSAmIHtcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgICB9XG4gICAgICA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICAgICAgLkB7ZGlhbG9nLXdyYXAtcnRsLWNsc30gJiB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgfVxuICAgICAgICArIC5Ae2NvbmZpcm0tcHJlZml4LWNsc30tdGl0bGUgKyAuQHtjb25maXJtLXByZWZpeC1jbHN9LWNvbnRlbnQge1xuICAgICAgICAgIC5Ae2RpYWxvZy13cmFwLXJ0bC1jbHN9ICYge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtYnRucyB7XG4gICAgICAuQHtkaWFsb2ctd3JhcC1ydGwtY2xzfSAmIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgICBidXR0b24gKyBidXR0b24ge1xuICAgICAgICAuQHtkaWFsb2ctd3JhcC1ydGwtY2xzfSAmIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uQHtkaWFsb2ctcHJlZml4LWNsc30tY2VudGVyZWQge1xuICAuQHtkaWFsb2ctcHJlZml4LWNsc30ge1xuICAgIC5Ae2RpYWxvZy13cmFwLXJ0bC1jbHN9JiB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4vaW5kZXgnO1xuXG5Ac2VsZWN0aW9uLWl0ZW0tcGFkZGluZzogY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjI1KTtcblxuLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNpbmdsZSB7XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT0gU2VsZWN0b3IgPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlO1xuXG4gICAgICAmLWlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtLFxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAc2VsZWN0LWhlaWdodC13aXRob3V0LWJvcmRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXG4gICAgICAvLyBGaXJlZm94IGlubGluZS1ibG9jayBwb3NpdGlvbiBjYWxjdWxhdGlvbiBpcyBub3Qgc2FtZSBhcyBDaHJvbWUgJiBTYWZhcmkuIFBhdGNoIHRoaXM6XG4gICAgICBAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbWV0ZXJiYXIpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWxlY3QtaGVpZ2h0LXdpdGhvdXQtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gRm9yIGNvbW1vbiBiYXNlbGluZSBhbGlnblxuICAgICY6OmFmdGVyLFxuICAgIC8vIEZvciAnJyB2YWx1ZSBiYXNlbGluZSBhbGlnblxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbTo6YWZ0ZXIsXG4gICAgLy8gRm9yIHVuZGVmaW5lZCB2YWx1ZSBiYXNlbGluZSBhbGlnblxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgY29udGVudDogJ1xcYTAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdpdGggYXJyb3cgc2hvdWxkIHByb3ZpZGVzIGBwYWRkaW5nLXJpZ2h0YCB0byBzaG93IHRoZSBhcnJvd1xuICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1zZWFyY2gge1xuICAgIHJpZ2h0OiBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLWJhc2UgKyBAZm9udC1zaXplLWJhc2U7XG4gIH1cblxuICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtLFxuICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1wbGFjZWhvbGRlciB7XG4gICAgcGFkZGluZy1yaWdodDogQHNlbGVjdGlvbi1pdGVtLXBhZGRpbmc7XG4gIH1cblxuICAvLyBPcGFjaXR5IHNlbGVjdGlvbiBpZiBvcGVuXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tb3BlbiAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0ge1xuICAgIGNvbG9yOiBAaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PSBJbnB1dCA9PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBXZSBvbmx5IGNoYW5nZSB0aGUgc3R5bGUgb2Ygbm9uLWN1c3RvbWl6ZSBpbnB1dCB3aGljaCBpcyBvbmx5IHN1cHBvcnQgYnkgYGNvbWJvYm94YCBtb2RlLlxuXG4gIC8vIE5vdCBjdXN0b21pemVcbiAgJjpub3QoLkB7c2VsZWN0LXByZWZpeC1jbHN9LWN1c3RvbWl6ZS1pbnB1dCkge1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICAgICAgcGFkZGluZzogMCBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLWJhc2U7XG5cbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoLWlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiBAc2VsZWN0LWhlaWdodC13aXRob3V0LWJvcmRlcjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBsaW5lLWhlaWdodDogQHNlbGVjdC1oZWlnaHQtd2l0aG91dC1ib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1jdXN0b21pemUtaW5wdXQge1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvciB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyA9PSAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgPT1cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC5zZWxlY3Qtc2l6ZShAc3VmZml4LCBAaW5wdXQtaGVpZ2h0KSB7XG4gICAgQG1lcmdlZC1jbHM6IH4nQHtzZWxlY3QtcHJlZml4LWNsc30tQHtzdWZmaXh9JztcblxuICAgICYuQHttZXJnZWQtY2xzfTpub3QoLkB7c2VsZWN0LXByZWZpeC1jbHN9LWN1c3RvbWl6ZS1pbnB1dCkge1xuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdG9yIHtcbiAgICAgICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuXG4gICAgICAgICY6OmFmdGVyLFxuICAgICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0sXG4gICAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0IC0gMiAqIEBib3JkZXItd2lkdGgtYmFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBOb3QgY3VzdG9taXplXG4gICAgICAmOm5vdCguQHtzZWxlY3QtcHJlZml4LWNsc30tY3VzdG9taXplLWlucHV0KSB7XG4gICAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoLWlucHV0IHtcbiAgICAgICAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQgLSAyICogQGJvcmRlci13aWR0aC1iYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdC1zaXplKCdsZycsIEBzZWxlY3Qtc2luZ2xlLWl0ZW0taGVpZ2h0LWxnKTtcbiAgLnNlbGVjdC1zaXplKCdzbScsIEBpbnB1dC1oZWlnaHQtc20pO1xuXG4gIC8vIFNpemUgc21hbGwgbmVlZCBhZGRpdGlvbmFsIHNldCBwYWRkaW5nXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc20ge1xuICAgICY6bm90KC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1jdXN0b21pemUtaW5wdXQpIHtcbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoIHtcbiAgICAgICAgcmlnaHQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtc207XG4gICAgICAgIGxlZnQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtc207XG4gICAgICB9XG5cbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvciB7XG4gICAgICAgIHBhZGRpbmc6IDAgQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1zbTtcbiAgICAgIH1cblxuICAgICAgLy8gV2l0aCBhcnJvdyBzaG91bGQgcHJvdmlkZXMgYHBhZGRpbmctcmlnaHRgIHRvIHNob3cgdGhlIGFycm93XG4gICAgICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1zZWFyY2gge1xuICAgICAgICByaWdodDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1zbSArIEBmb250LXNpemUtYmFzZSAqIDEuNTtcbiAgICAgIH1cblxuICAgICAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbSxcbiAgICAgICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogQGZvbnQtc2l6ZS1iYXNlICogMS41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tbGcge1xuICAgICY6bm90KC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1jdXN0b21pemUtaW5wdXQpIHtcbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvciB7XG4gICAgICAgIHBhZGRpbmc6IDAgQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1sZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4vaW5kZXgnO1xuXG5Ac2VsZWN0LW92ZXJmbG93LXByZWZpeC1jbHM6IH4nQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLW92ZXJmbG93JztcbkBzZWxlY3QtbXVsdGlwbGUtaXRlbS1ib3JkZXItd2lkdGg6IDFweDtcblxuQHNlbGVjdC1tdWx0aXBsZS1wYWRkaW5nOiBtYXgoXG4gIEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLWJhc2UgLSBAc2VsZWN0LW11bHRpcGxlLWl0ZW0tYm9yZGVyLXdpZHRoIC1cbiAgICBAc2VsZWN0LW11bHRpcGxlLWl0ZW0tc3BhY2luZy1oYWxmLFxuICAwXG4pO1xuXG4vKipcbiAqIERvIG5vdCBtZXJnZSBgaGVpZ2h0YCAmIGBsaW5lLWhlaWdodGAgdW5kZXIgc3R5bGUgd2l0aCBgc2VsZWN0aW9uYCAmIGBzZWFyY2hgLFxuICogc2luY2UgY2hyb21lIG1heSB1cGRhdGUgdG8gcmVkZXNpZ24gd2l0aCBpdHMgYWxpZ24gbG9naWMuXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09IE92ZXJmbG93ID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLkB7c2VsZWN0LW92ZXJmbG93LXByZWZpeC1jbHN9IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiBhdXRvO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmLWl0ZW0ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5Ae3NlbGVjdC1wcmVmaXgtY2xzfSB7XG4gICYtbXVsdGlwbGUge1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT0gU2VsZWN0b3IgPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC8vIE11bHRpcGxlIGlzIGxpdHRsZSBkaWZmZXJlbnQgdGhhdCBob3Jpem9udGFsIGlzIGZvbGxvdyB0aGUgdmVydGljYWxcbiAgICAgIHBhZGRpbmc6IEBzZWxlY3QtbXVsdGlwbGUtcGFkZGluZyBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlO1xuXG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1zZWFyY2gmIHtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgfVxuXG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tZGlzYWJsZWQmIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHNlbGVjdC1tdWx0aXBsZS1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIG1hcmdpbjogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLXNwYWNpbmctaGFsZiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWhlaWdodDtcbiAgICAgICAgY29udGVudDogJ1xcYTAnO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3IsXG4gICAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1hbGxvdy1jbGVhciAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgICAgcGFkZGluZy1yaWdodDogQGZvbnQtc2l6ZS1zbSArIEBjb250cm9sLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT0gU2VsZWN0aW9ucyA9PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICBoZWlnaHQ6IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0tc3BhY2luZy1oYWxmO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLWJhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0tc3BhY2luZy1oYWxmO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IEBwYWRkaW5nLXhzO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAoQHBhZGRpbmcteHMgLyAyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0taGVpZ2h0IC0gQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWJvcmRlci13aWR0aCAqIDI7XG4gICAgICBiYWNrZ3JvdW5kOiBAc2VsZWN0LXNlbGVjdGlvbi1pdGVtLWJnO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgQHNlbGVjdC1zZWxlY3Rpb24taXRlbS1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuM3MsIGxpbmUtaGVpZ2h0IDAuM3MsIGhlaWdodCAwLjNzO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1kaXNhYmxlZCYge1xuICAgICAgICBjb2xvcjogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIEl0J3Mgb2sgbm90IHRvIGRvIHRoaXMsIGJ1dCAyNHB4IG1ha2VzIGJvdHRvbSBuYXJyb3cgaW4gdmlldyBzaG91bGQgYWRqdXN0XG4gICAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKEBwYWRkaW5nLXhzIC8gMik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7IC8vIGZpeCB3aGl0ZXNwYWNlIHdyYXBwaW5nLiBjdXN0b20gdGFncyBkaXNwbGF5IGFsbCB3aGl0ZXNwYWNlIHdpdGhpbi5cbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgICYtcmVtb3ZlIHtcbiAgICAgICAgLmljb25mb250LW1peGluKCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6IEB0ZXh0LWNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IEBpY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gSW5wdXQgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAuQHtzZWxlY3Qtb3ZlcmZsb3ctcHJlZml4LWNsc30taXRlbSArIC5Ae3NlbGVjdC1vdmVyZmxvdy1wcmVmaXgtY2xzfS1pdGVtIHtcbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0tc3BhY2luZy1oYWxmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLXNwYWNpbmctaGFsZjtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZSAtIEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLWJhc2U7XG5cbiAgICAgICYtaW5wdXQsXG4gICAgICAmLW1pcnJvciB7XG4gICAgICAgIGhlaWdodDogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWhlaWdodDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1oZWlnaHQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgfVxuXG4gICAgICAmLWlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogNC4xcHg7IC8vIGZpeCBzZWFyY2ggY3Vyc29yIG1pc3NpbmdcbiAgICAgIH1cblxuICAgICAgJi1taXJyb3Ige1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOyAvLyBmaXggd2hpdGVzcGFjZSB3cmFwcGluZyBjYXVzZWQgd2lkdGggY2FsY3VsYXRpb24gYnVnXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PSBQbGFjZWhvbGRlciA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGxlZnQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyA9PSAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgPT1cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAuc2VsZWN0LXNpemUoQHN1ZmZpeCwgQGlucHV0LWhlaWdodCkge1xuICAgICAgQG1lcmdlZC1jbHM6IH4nQHtzZWxlY3QtcHJlZml4LWNsc30tQHtzdWZmaXh9JztcbiAgICAgICYuQHttZXJnZWQtY2xzfSB7XG4gICAgICAgIEBzZWxlY3Qtc2VsZWN0aW9uLWhlaWdodDogQGlucHV0LWhlaWdodCAtIEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLWJhc2UgKiAyO1xuICAgICAgICBAc2VsZWN0LWhlaWdodC13aXRob3V0LWJvcmRlcjogQGlucHV0LWhlaWdodCAtIEBib3JkZXItd2lkdGgtYmFzZSAqIDI7XG5cbiAgICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdG9yOjphZnRlciB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWxlY3Qtc2VsZWN0aW9uLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbSB7XG4gICAgICAgICAgaGVpZ2h0OiBAc2VsZWN0LXNlbGVjdGlvbi1oZWlnaHQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWxlY3Qtc2VsZWN0aW9uLWhlaWdodCAtIEBib3JkZXItd2lkdGgtYmFzZSAqIDI7XG4gICAgICAgIH1cblxuICAgICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaCB7XG4gICAgICAgICAgaGVpZ2h0OiBAc2VsZWN0LXNlbGVjdGlvbi1oZWlnaHQgKyBAc2VsZWN0LW11bHRpcGxlLXBhZGRpbmc7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWxlY3Qtc2VsZWN0aW9uLWhlaWdodCArIEBzZWxlY3QtbXVsdGlwbGUtcGFkZGluZztcblxuICAgICAgICAgICYtaW5wdXQsXG4gICAgICAgICAgJi1taXJyb3Ige1xuICAgICAgICAgICAgaGVpZ2h0OiBAc2VsZWN0LXNlbGVjdGlvbi1oZWlnaHQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogQHNlbGVjdC1zZWxlY3Rpb24taGVpZ2h0IC0gQGJvcmRlci13aWR0aC1iYXNlICogMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0LXNpemUoJ2xnJywgQGlucHV0LWhlaWdodC1sZyk7XG4gICAgLnNlbGVjdC1zaXplKCdzbScsIEBpbnB1dC1oZWlnaHQtc20pO1xuXG4gICAgLy8gU2l6ZSBzbWFsbCBuZWVkIGFkZGl0aW9uYWwgc2V0IHBhZGRpbmdcbiAgICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNtIHtcbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgICAgICBsZWZ0OiBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLXNtO1xuICAgICAgfVxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMjI5MDZcbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoOmZpcnN0LWNoaWxkXG4gICAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoLWlucHV0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1sZyB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1oZWlnaHQtbGc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0taGVpZ2h0LWxnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZGlzYWJsZWQgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtLXJlbW92ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9pbnB1dC9zdHlsZS9taXhpbic7XG5cbkBpbXBvcnQgJy4vc2luZ2xlJztcbkBpbXBvcnQgJy4vbXVsdGlwbGUnO1xuXG5Ac2VsZWN0LXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1zZWxlY3QnO1xuQHNlbGVjdC1oZWlnaHQtd2l0aG91dC1ib3JkZXI6IEBpbnB1dC1oZWlnaHQtYmFzZSAtIDIgKiBAYm9yZGVyLXdpZHRoLWJhc2U7XG5Ac2VsZWN0LWRyb3Bkb3duLWVkZ2UtY2hpbGQtdmVydGljYWwtcGFkZGluZzogQGRyb3Bkb3duLWVkZ2UtY2hpbGQtdmVydGljYWwtcGFkZGluZztcblxuLnNlbGVjdC1zZWxlY3RvcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgQGVhc2UtaW4tb3V0O1xuXG4gIGlucHV0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1zZWFyY2gmIHtcbiAgICBjdXJzb3I6IHRleHQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LWZvY3VzZWQ6bm90KC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1kaXNhYmxlZCkmIHtcbiAgICAuYWN0aXZlKCk7XG4gIH1cblxuICAuQHtzZWxlY3QtcHJlZml4LWNsc30tZGlzYWJsZWQmIHtcbiAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IEBpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgaW5wdXQge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLyogUmVzZXQgc2VhcmNoIGlucHV0IHN0eWxlICovXG4uc2VsZWN0LXNlYXJjaC1pbnB1dC13aXRob3V0LWJvcmRlcigpIHtcbiAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1zZWFyY2gtaW5wdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5Ae3NlbGVjdC1wcmVmaXgtY2xzfSB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOm5vdCgmLWN1c3RvbWl6ZS1pbnB1dCkgJi1zZWxlY3RvciB7XG4gICAgLnNlbGVjdC1zZWxlY3RvcigpO1xuICAgIC5zZWxlY3Qtc2VhcmNoLWlucHV0LXdpdGhvdXQtYm9yZGVyKCk7XG4gIH1cblxuICAmOm5vdCgmLWRpc2FibGVkKTpob3ZlciAmLXNlbGVjdG9yIHtcbiAgICAuaG92ZXIoKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PSBTZWxlY3Rpb24gPT09PT09PT09PT09PT09PT09PT09PT09XG4gICYtc2VsZWN0aW9uLWl0ZW0ge1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgLy8gSUUxMSBjc3MgaGFjay4gYCo6Oi1tcy1iYWNrZHJvcCxgIGlzIGEgbXVzdCBoYXZlXG4gICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAqOjotbXMtYmFja2Ryb3AsXG4gICAgICAmIHtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PSBQbGFjZWhvbGRlciA9PT09PT09PT09PT09PT09PT09PT09PVxuICAmLXNlbGVjdGlvbi1wbGFjZWhvbGRlciB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiBAaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIElFMTEgY3NzIGhhY2suIGAqOjotbXMtYmFja2Ryb3AsYCBpcyBhIG11c3QgaGF2ZVxuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgKjo6LW1zLWJhY2tkcm9wLFxuICAgICAgJiB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gQXJyb3cgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi1hcnJvdyB7XG4gICAgLmljb25mb250LW1peGluKCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTMlO1xuICAgIHJpZ2h0OiBAY29udHJvbC1wYWRkaW5nLWhvcml6b250YWwgLSAxcHg7XG4gICAgd2lkdGg6IEBmb250LXNpemUtc207XG4gICAgaGVpZ2h0OiBAZm9udC1zaXplLXNtO1xuICAgIG1hcmdpbi10b3A6ICgtQGZvbnQtc2l6ZS1zbSAvIDIpO1xuICAgIGNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAgICAgPiBzdmcge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCguQHtzZWxlY3QtcHJlZml4LWNsc30tc3VmZml4KSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1kaXNhYmxlZCAmIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gQ2xlYXIgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi1jbGVhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiBAY29udHJvbC1wYWRkaW5nLWhvcml6b250YWwgLSAxcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IEBmb250LXNpemUtc207XG4gICAgaGVpZ2h0OiBAZm9udC1zaXplLXNtO1xuICAgIG1hcmdpbi10b3A6ICgtQGZvbnQtc2l6ZS1zbSAvIDIpO1xuICAgIGNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZDogQHNlbGVjdC1jbGVhci1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjE1cyBlYXNlO1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQHRleHQtY29sb3Itc2Vjb25kYXJ5O1xuICAgIH1cblxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfTpob3ZlciAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gUG9wdXAgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi1kcm9wZG93biB7XG4gICAgLnJlc2V0LWNvbXBvbmVudCgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC05OTk5cHg7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICB6LWluZGV4OiBAemluZGV4LWRyb3Bkb3duO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogQHNlbGVjdC1kcm9wZG93bi1lZGdlLWNoaWxkLXZlcnRpY2FsLXBhZGRpbmcgMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICAgIC8vIEZpeCBzZWxlY3QgcmVuZGVyIGxhZyBvZiBsb25nIHRleHQgaW4gY2hyb21lXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTE0NTZcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xMTg0M1xuICAgIGZvbnQtdmFyaWFudDogaW5pdGlhbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2VsZWN0LWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBAYm94LXNoYWRvdy1iYXNlO1xuXG4gICAgJi5zbGlkZS11cC1lbnRlci5zbGlkZS11cC1lbnRlci1hY3RpdmUmLXBsYWNlbWVudC1ib3R0b21MZWZ0LFxuICAgICYuc2xpZGUtdXAtYXBwZWFyLnNsaWRlLXVwLWFwcGVhci1hY3RpdmUmLXBsYWNlbWVudC1ib3R0b21MZWZ0IHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBhbnRTbGlkZVVwSW47XG4gICAgfVxuXG4gICAgJi5zbGlkZS11cC1lbnRlci5zbGlkZS11cC1lbnRlci1hY3RpdmUmLXBsYWNlbWVudC10b3BMZWZ0LFxuICAgICYuc2xpZGUtdXAtYXBwZWFyLnNsaWRlLXVwLWFwcGVhci1hY3RpdmUmLXBsYWNlbWVudC10b3BMZWZ0IHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBhbnRTbGlkZURvd25JbjtcbiAgICB9XG5cbiAgICAmLnNsaWRlLXVwLWxlYXZlLnNsaWRlLXVwLWxlYXZlLWFjdGl2ZSYtcGxhY2VtZW50LWJvdHRvbUxlZnQge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGFudFNsaWRlVXBPdXQ7XG4gICAgfVxuXG4gICAgJi5zbGlkZS11cC1sZWF2ZS5zbGlkZS11cC1sZWF2ZS1hY3RpdmUmLXBsYWNlbWVudC10b3BMZWZ0IHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBhbnRTbGlkZURvd25PdXQ7XG4gICAgfVxuXG4gICAgJi1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLWVtcHR5IHtcbiAgICAgIGNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PSBPcHRpb25zID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLml0ZW0oKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IEBzZWxlY3QtZHJvcGRvd24taGVpZ2h0O1xuICAgIHBhZGRpbmc6IEBzZWxlY3QtZHJvcGRvd24tdmVydGljYWwtcGFkZGluZyBAY29udHJvbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBAc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogQHNlbGVjdC1kcm9wZG93bi1saW5lLWhlaWdodDtcbiAgfVxuXG4gICYtaXRlbS1lbXB0eSB7XG4gICAgLml0ZW0oKTtcbiAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgJi1pdGVtIHtcbiAgICAuaXRlbSgpO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xuXG4gICAgLy8gPT09PT09PT09PT0gR3JvdXAgPT09PT09PT09PT09XG4gICAgJi1ncm91cCB7XG4gICAgICBjb2xvcjogQHRleHQtY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC8vID09PT09PT09PT09IE9wdGlvbiA9PT09PT09PT09PVxuICAgICYtb3B0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICYtY29udGVudCB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICAmLXN0YXRlIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi1hY3RpdmU6bm90KCYtZGlzYWJsZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNlbGVjdC1pdGVtLWFjdGl2ZS1iZztcbiAgICAgIH1cblxuICAgICAgJi1zZWxlY3RlZDpub3QoJi1kaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogQHNlbGVjdC1pdGVtLXNlbGVjdGVkLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogQHNlbGVjdC1pdGVtLXNlbGVjdGVkLWZvbnQtd2VpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2VsZWN0LWl0ZW0tc2VsZWN0ZWQtYmc7XG5cbiAgICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LWl0ZW0tb3B0aW9uLXN0YXRlIHtcbiAgICAgICAgICBjb2xvcjogQHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG5cbiAgICAgICYtZ3JvdXBlZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGNvbnRyb2wtcGFkZGluZy1ob3Jpem9udGFsICogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gPT0gICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgICAgICAgICAgID09XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAmLWxnIHtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtbGc7XG4gIH1cblxuICAvLyBubyBib3JkZXIgc3R5bGVcbiAgJi1ib3JkZXJsZXNzICYtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL2lucHV0L3N0eWxlL21peGluJztcblxuQHNlbGVjdC1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tc2VsZWN0JztcblxuLkB7c2VsZWN0LXByZWZpeC1jbHN9IHtcbiAgJi1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gQXJyb3cgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi1hcnJvdyB7XG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgbGVmdDogQGNvbnRyb2wtcGFkZGluZy1ob3Jpem9udGFsIC0gMXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IENsZWFyID09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICYtY2xlYXIge1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIGxlZnQ6IEBjb250cm9sLXBhZGRpbmctaG9yaXpvbnRhbCAtIDFweDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PSBQb3B1cCA9PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAmLWRyb3Bkb3duIHtcbiAgICAmLXJ0bCB7XG4gICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09IE9wdGlvbnMgPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAmLWl0ZW0ge1xuICAgICYtb3B0aW9uIHtcbiAgICAgICYtZ3JvdXBlZCB7XG4gICAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1kcm9wZG93bi1ydGwgJiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogQGNvbnRyb2wtcGFkZGluZy1ob3Jpem9udGFsICogMjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBjb250cm9sLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBtdWx0aXBsZVxuQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWJvcmRlci13aWR0aDogMXB4O1xuQHNlbGVjdC1tdWx0aXBsZS1pdGVtLXNwYWNpbmctaGFsZjogY2VpbCgoQGlucHV0LXBhZGRpbmctdmVydGljYWwtYmFzZSAvIDIpKTtcbkBzZWxlY3QtbXVsdGlwbGUtcGFkZGluZzogbWF4KFxuICBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlIC0gQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWJvcmRlci13aWR0aCAtXG4gICAgQHNlbGVjdC1tdWx0aXBsZS1pdGVtLXNwYWNpbmctaGFsZixcbiAgMFxuKTtcblxuLkB7c2VsZWN0LXByZWZpeC1jbHN9LW11bHRpcGxlIHtcbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvcixcbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1hbGxvdy1jbGVhciAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLWJhc2U7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBmb250LXNpemUtc20gKyBAY29udHJvbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09IFNlbGVjdGlvbnMgPT09PT09PT09PT09PT09PT09PT09PT09XG4gIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbSB7XG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIC8vIEl0J3Mgb2sgbm90IHRvIGRvIHRoaXMsIGJ1dCAyNHB4IG1ha2VzIGJvdHRvbSBuYXJyb3cgaW4gdmlldyBzaG91bGQgYWRqdXN0XG4gICAgJi1jb250ZW50IHtcbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogKEBwYWRkaW5nLXhzIC8gMik7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IElucHV0ID09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoIHtcbiAgICAmLW1pcnJvciB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQgPiAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaC1pbnB1dCB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT0gUGxhY2Vob2xkZXIgPT09PT09PT09PT09PT09PT09PT09PT1cbiAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1wbGFjZWhvbGRlciB7XG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgcmlnaHQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyA9PSAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgPT1cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gU2l6ZSBzbWFsbCBuZWVkIGFkZGl0aW9uYWwgc2V0IHBhZGRpbmdcbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zbSB7XG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1wbGFjZWhvbGRlciB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIHJpZ2h0OiBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLXNtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBzaW5nbGVcbkBzZWxlY3Rpb24taXRlbS1wYWRkaW5nOiBjZWlsKEBmb250LXNpemUtYmFzZSAqIDEuMjUpO1xuXG4uQHtzZWxlY3QtcHJlZml4LWNsc30tc2luZ2xlIHtcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PSBTZWxlY3RvciA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvciB7XG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtLFxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogOXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBXaXRoIGFycm93IHNob3VsZCBwcm92aWRlcyBgcGFkZGluZy1yaWdodGAgdG8gc2hvdyB0aGUgYXJyb3dcbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoIHtcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICByaWdodDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlO1xuICAgICAgbGVmdDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlICsgQGZvbnQtc2l6ZS1iYXNlO1xuICAgIH1cbiAgfVxuXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0sXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiBAc2VsZWN0aW9uLWl0ZW0tcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PSBJbnB1dCA9PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBXZSBvbmx5IGNoYW5nZSB0aGUgc3R5bGUgb2Ygbm9uLWN1c3RvbWl6ZSBpbnB1dCB3aGljaCBpcyBvbmx5IHN1cHBvcnQgYnkgYGNvbWJvYm94YCBtb2RlLlxuXG4gIC8vIE5vdCBjdXN0b21pemVcbiAgJjpub3QoLkB7c2VsZWN0LXByZWZpeC1jbHN9LWN1c3RvbWl6ZS1pbnB1dCkge1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvciB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIHBhZGRpbmc6IDAgQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyA9PSAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgPT1cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gU2l6ZSBzbWFsbCBuZWVkIGFkZGl0aW9uYWwgc2V0IHBhZGRpbmdcbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zbSB7XG4gICAgJjpub3QoLkB7c2VsZWN0LXByZWZpeC1jbHN9LWN1c3RvbWl6ZS1pbnB1dCkge1xuICAgICAgLy8gV2l0aCBhcnJvdyBzaG91bGQgcHJvdmlkZXMgYHBhZGRpbmctcmlnaHRgIHRvIHNob3cgdGhlIGFycm93XG4gICAgICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1zZWFyY2gge1xuICAgICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbSxcbiAgICAgICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBAZm9udC1zaXplLWJhc2UgKiAxLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AZW1wdHktcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LWVtcHR5JztcbkBlbXB0eS1pbWctcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LWVtcHR5LWltZyc7XG5cbi5Ae2VtcHR5LXByZWZpeC1jbHN9IHtcbiAgbWFyZ2luOiAwIDhweDtcbiAgZm9udC1zaXplOiBAZW1wdHktZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgfVxuXG4gIC8vIGFudGQgaW50ZXJuYWwgZW1wdHkgc3R5bGVcbiAgJi1ub3JtYWwge1xuICAgIG1hcmdpbjogMzJweCAwO1xuICAgIGNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG5cbiAgICAuQHtlbXB0eS1wcmVmaXgtY2xzfS1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgJi1zbWFsbCB7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuXG4gICAgLkB7ZW1wdHktcHJlZml4LWNsc30taW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uQHtlbXB0eS1pbWctcHJlZml4LWNsc30tZGVmYXVsdCB7XG4gIC8vIG5vdCBzdXBwb3J0IHRoZSBkZWZpbml0aW9uIGJlY2F1c2UgdGhlIGxlc3MgdmFyaWFibGVzIGhhdmUgbm8gbWVhbmluZ1xuICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAmLWVsbGlwc2Uge1xuICAgICAgZmlsbC1vcGFjaXR5OiAwLjA4O1xuICAgICAgZmlsbDogQHdoaXRlO1xuICAgIH1cbiAgICAmLXBhdGgge1xuICAgICAgJi0xIHtcbiAgICAgICAgZmlsbDogIzI2MjYyNjtcbiAgICAgIH1cbiAgICAgICYtMiB7XG4gICAgICAgIGZpbGw6IHVybCgjbGluZWFyR3JhZGllbnQtMSk7XG4gICAgICB9XG4gICAgICAmLTMge1xuICAgICAgICBmaWxsOiAjNTk1OTU5O1xuICAgICAgfVxuICAgICAgJi00IHtcbiAgICAgICAgZmlsbDogIzQzNDM0MztcbiAgICAgIH1cbiAgICAgICYtNSB7XG4gICAgICAgIGZpbGw6ICM1OTU5NTk7XG4gICAgICB9XG4gICAgfVxuICAgICYtZyB7XG4gICAgICBmaWxsOiAjNDM0MzQzO1xuICAgIH1cbiAgfVxuICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgJi1lbGxpcHNlIHtcbiAgICAgIGZpbGwtb3BhY2l0eTogMC44O1xuICAgICAgZmlsbDogI2Y1ZjVmNTtcbiAgICB9XG4gICAgJi1wYXRoIHtcbiAgICAgICYtMSB7XG4gICAgICAgIGZpbGw6ICNhZWI4YzI7XG4gICAgICB9XG4gICAgICAmLTIge1xuICAgICAgICBmaWxsOiB1cmwoI2xpbmVhckdyYWRpZW50LTEpO1xuICAgICAgfVxuICAgICAgJi0zIHtcbiAgICAgICAgZmlsbDogI2Y1ZjVmNztcbiAgICAgIH1cbiAgICAgICYtNCB7XG4gICAgICAgIGZpbGw6ICNkY2UwZTY7XG4gICAgICB9XG4gICAgICAmLTUge1xuICAgICAgICBmaWxsOiAjZGNlMGU2O1xuICAgICAgfVxuICAgIH1cbiAgICAmLWcge1xuICAgICAgZmlsbDogQHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4uQHtlbXB0eS1pbWctcHJlZml4LWNsc30tc2ltcGxlIHtcbiAgLy8gbm90IHN1cHBvcnQgdGhlIGRlZmluaXRpb24gYmVjYXVzZSB0aGUgbGVzcyB2YXJpYWJsZXMgaGF2ZSBubyBtZWFuaW5nXG4gICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICYtZWxsaXBzZSB7XG4gICAgICBmaWxsOiBAd2hpdGU7XG4gICAgICBmaWxsLW9wYWNpdHk6IDAuMDg7XG4gICAgfVxuICAgICYtZyB7XG4gICAgICBzdHJva2U6ICM0MzQzNDM7XG4gICAgfVxuICAgICYtcGF0aCB7XG4gICAgICBmaWxsOiAjMjYyNjI2O1xuICAgICAgc3Ryb2tlOiAjNDM0MzQzO1xuICAgIH1cbiAgfVxuICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgJi1lbGxpcHNlIHtcbiAgICAgIGZpbGw6ICNmNWY1ZjU7XG4gICAgfVxuICAgICYtZyB7XG4gICAgICBzdHJva2U6ICNkOWQ5ZDk7XG4gICAgfVxuICAgICYtcGF0aCB7XG4gICAgICBmaWxsOiAjZmFmYWZhO1xuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuQGVtcHR5LXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1lbXB0eSc7XG5cbi5Ae2VtcHR5LXByZWZpeC1jbHN9IHtcbiAgJi1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG59XG4iLCJuei1lbXB0eSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLmFudC1zZWxlY3QtZHJvcGRvd24ge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBkaXNwbGF5OiBibG9jaztcblxuICAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLmZ1bGwtd2lkdGgge1xuICAgIGNvbnRhaW46IGluaXRpYWw7XG4gICAgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AYWxlcnQtcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LWFsZXJ0JztcblxuLkB7YWxlcnQtcHJlZml4LWNsc30ge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiA4cHggMTVweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gICYtY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAmLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogQG1hcmdpbi14cztcbiAgfVxuXG4gICYtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IEBmb250LXNpemUtYmFzZSArIDhweDtcbiAgfVxuXG4gICYtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGFsZXJ0LXN1Y2Nlc3MtYmctY29sb3I7XG4gICAgYm9yZGVyOiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBhbGVydC1zdWNjZXNzLWJvcmRlci1jb2xvcjtcbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1pY29uIHtcbiAgICAgIGNvbG9yOiBAYWxlcnQtc3VjY2Vzcy1pY29uLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGFsZXJ0LWluZm8tYmctY29sb3I7XG4gICAgYm9yZGVyOiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBhbGVydC1pbmZvLWJvcmRlci1jb2xvcjtcbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1pY29uIHtcbiAgICAgIGNvbG9yOiBAYWxlcnQtaW5mby1pY29uLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGFsZXJ0LXdhcm5pbmctYmctY29sb3I7XG4gICAgYm9yZGVyOiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBhbGVydC13YXJuaW5nLWJvcmRlci1jb2xvcjtcbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1pY29uIHtcbiAgICAgIGNvbG9yOiBAYWxlcnQtd2FybmluZy1pY29uLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYtZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhbGVydC1lcnJvci1iZy1jb2xvcjtcbiAgICBib3JkZXI6IEBib3JkZXItd2lkdGgtYmFzZSBAYm9yZGVyLXN0eWxlLWJhc2UgQGFsZXJ0LWVycm9yLWJvcmRlci1jb2xvcjtcblxuICAgIC5Ae2FsZXJ0LXByZWZpeC1jbHN9LWljb24ge1xuICAgICAgY29sb3I6IEBhbGVydC1lcnJvci1pY29uLWNvbG9yO1xuICAgIH1cblxuICAgIC5Ae2FsZXJ0LXByZWZpeC1jbHN9LWRlc2NyaXB0aW9uID4gcHJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJi1hY3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXhzO1xuICB9XG5cbiAgJi1jbG9zZS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi14cztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtO1xuICAgIGxpbmUtaGVpZ2h0OiBAZm9udC1zaXplLXNtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5Ae2ljb25mb250LWNzcy1wcmVmaXh9LWNsb3NlIHtcbiAgICAgIGNvbG9yOiBAYWxlcnQtY2xvc2UtY29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAYWxlcnQtY2xvc2UtaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jbG9zZS10ZXh0IHtcbiAgICBjb2xvcjogQGFsZXJ0LWNsb3NlLWNvbG9yO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQGFsZXJ0LWNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYtd2l0aC1kZXNjcmlwdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogQGFsZXJ0LXdpdGgtZGVzY3JpcHRpb24tcGFkZGluZztcbiAgfVxuXG4gICYtd2l0aC1kZXNjcmlwdGlvbiYtbm8taWNvbiB7XG4gICAgcGFkZGluZzogQGFsZXJ0LXdpdGgtZGVzY3JpcHRpb24tbm8taWNvbi1wYWRkaW5nLXZlcnRpY2FsIDE1cHg7XG4gIH1cblxuICAmLXdpdGgtZGVzY3JpcHRpb24gJi1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IEBhbGVydC13aXRoLWRlc2NyaXB0aW9uLXBhZGRpbmctdmVydGljYWw7XG4gICAgZm9udC1zaXplOiBAYWxlcnQtd2l0aC1kZXNjcmlwdGlvbi1pY29uLXNpemU7XG4gIH1cbiAgJi13aXRoLWRlc2NyaXB0aW9uICYtbWVzc2FnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIGNvbG9yOiBAYWxlcnQtbWVzc2FnZS1jb2xvcjtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtbGc7XG4gIH1cblxuICAmLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiBAYWxlcnQtbWVzc2FnZS1jb2xvcjtcbiAgfVxuXG4gICYtd2l0aC1kZXNjcmlwdGlvbiAmLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYmLW1vdGlvbi1sZWF2ZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBAZWFzZS1pbi1vdXQtY2lyYywgb3BhY2l0eSAwLjNzIEBlYXNlLWluLW91dC1jaXJjLFxuICAgICAgcGFkZGluZy10b3AgMC4zcyBAZWFzZS1pbi1vdXQtY2lyYywgcGFkZGluZy1ib3R0b20gMC4zcyBAZWFzZS1pbi1vdXQtY2lyYyxcbiAgICAgIG1hcmdpbi1ib3R0b20gMC4zcyBAZWFzZS1pbi1vdXQtY2lyYztcbiAgfVxuXG4gICYmLW1vdGlvbi1sZWF2ZS1hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmLWJhbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCIuQHthbGVydC1wcmVmaXgtY2xzfSB7XG4gICYmLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cblxuICAmJi1uby1pY29uIHtcbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgIHBhZGRpbmc6IEBhbGVydC1uby1pY29uLXBhZGRpbmctdmVydGljYWwgMTVweDtcbiAgICB9XG4gIH1cblxuICAmLWljb24ge1xuICAgIC5Ae2FsZXJ0LXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXhzO1xuICAgIH1cbiAgfVxuXG4gICYtYWN0aW9uIHtcbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IEBtYXJnaW4teHM7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLWNsb3NlLWljb24ge1xuICAgIC5Ae2FsZXJ0LXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogQG1hcmdpbi14cztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYtd2l0aC1kZXNjcmlwdGlvbiAmLWljb24ge1xuICAgIC5Ae2FsZXJ0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IEBhbGVydC13aXRoLWRlc2NyaXB0aW9uLXBhZGRpbmctdmVydGljYWw7XG4gICAgfVxuICB9XG59XG4iLCJuei1hbGVydCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBjYXJvdXNlbC1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tY2Fyb3VzZWwnO1xuXG4uQHtjYXJvdXNlbC1wcmVmaXgtY2xzfSB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcblxuICAuc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMjMyOTRcbiAgICAgIGlucHV0LkB7YW50LXByZWZpeH0tcmFkaW8taW5wdXQsXG4gICAgICBpbnB1dC5Ae2FudC1wcmVmaXh9LWNoZWNrYm94LWlucHV0IHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAgIGlucHV0LkB7YW50LXByZWZpeH0tcmFkaW8taW5wdXQsXG4gICAgICAgIGlucHV0LkB7YW50LXByZWZpeH0tY2hlY2tib3gtaW5wdXQge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gZml4IENhcm91c2VsIGNvbnRlbnQgaGVpZ2h0IG5vdCBtYXRjaCBwYXJlbnQgbm9kZVxuICAgICAgLy8gd2hlbiBjaGlsZHJlbiBpcyBlbXB0eSBub2RlXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8yNTg3OFxuICAgICAgPiBkaXYgPiBkaXYge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuICAuc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIH1cblxuICAuc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBcnJvd3NcbiAgLnNsaWNrLXByZXYsXG4gIC5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oaQJztcbiAgICB9XG4gIH1cblxuICAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oaSJztcbiAgICB9XG4gIH1cblxuICAvLyBEb3RzXG4gIC5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTU7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTUlO1xuICAgIG1hcmdpbi1sZWZ0OiAxNSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAmLWJvdHRvbSB7XG4gICAgICBib3R0b206IDEycHg7XG4gICAgfVxuICAgICYtdG9wIHtcbiAgICAgIHRvcDogMTJweDtcbiAgICB9XG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIHdpZHRoOiBAY2Fyb3VzZWwtZG90LXdpZHRoO1xuICAgICAgaGVpZ2h0OiBAY2Fyb3VzZWwtZG90LWhlaWdodDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBAY2Fyb3VzZWwtZG90LWhlaWdodDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjb21wb25lbnQtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICB3aWR0aDogQGNhcm91c2VsLWRvdC1hY3RpdmUtd2lkdGg7XG4gICAgICAgICYgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29tcG9uZW50LWJhY2tncm91bmQ7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5Ae2FudC1wcmVmaXh9LWNhcm91c2VsLXZlcnRpY2FsIHtcbiAgLnNsaWNrLWRvdHMge1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiBAY2Fyb3VzZWwtZG90LWhlaWdodDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICYtbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEycHg7XG4gICAgfVxuICAgICYtcmlnaHQge1xuICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICB3aWR0aDogQGNhcm91c2VsLWRvdC1oZWlnaHQ7XG4gICAgICBoZWlnaHQ6IEBjYXJvdXNlbC1kb3Qtd2lkdGg7XG4gICAgICBtYXJnaW46IDRweCAycHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogQGNhcm91c2VsLWRvdC1oZWlnaHQ7XG4gICAgICAgIGhlaWdodDogQGNhcm91c2VsLWRvdC13aWR0aDtcbiAgICAgIH1cbiAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgd2lkdGg6IEBjYXJvdXNlbC1kb3QtaGVpZ2h0O1xuICAgICAgICBoZWlnaHQ6IEBjYXJvdXNlbC1kb3QtYWN0aXZlLXdpZHRoO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IEBjYXJvdXNlbC1kb3QtaGVpZ2h0O1xuICAgICAgICAgIGhlaWdodDogQGNhcm91c2VsLWRvdC1hY3RpdmUtd2lkdGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGltcG9ydCAnLi9ydGwnO1xuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBjYXJvdXNlbC1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tY2Fyb3VzZWwnO1xuXG4uQHtjYXJvdXNlbC1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxuXG4gIC5zbGljay10cmFjayB7XG4gICAgLkB7Y2Fyb3VzZWwtcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1wcmV2IHtcbiAgICAuQHtjYXJvdXNlbC1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICByaWdodDogLTI1cHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ+KGkic7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLW5leHQge1xuICAgIC5Ae2Nhcm91c2VsLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAn4oaQJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEb3RzXG4gIC5zbGljay1kb3RzIHtcbiAgICAuQHtjYXJvdXNlbC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gIH1cbn1cblxuLkB7YW50LXByZWZpeH0tY2Fyb3VzZWwtdmVydGljYWwge1xuICAuc2xpY2stZG90cyB7XG4gICAgLkB7Y2Fyb3VzZWwtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwibnotY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2xpY2stZG90cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2xpY2stbGlzdCB7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBwb3BvdmVyLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1wb3BvdmVyJztcblxuLkB7cG9wb3Zlci1wcmVmaXgtY2xzfSB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1wb3BvdmVyO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IGF1dG87XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogZmFkZShAd2hpdGUsIDElKTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gICYtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4gICYtcGxhY2VtZW50LXRvcCxcbiAgJi1wbGFjZW1lbnQtdG9wTGVmdCxcbiAgJi1wbGFjZW1lbnQtdG9wUmlnaHQge1xuICAgIHBhZGRpbmctYm90dG9tOiBAcG9wb3Zlci1kaXN0YW5jZTtcbiAgfVxuXG4gICYtcGxhY2VtZW50LXJpZ2h0LFxuICAmLXBsYWNlbWVudC1yaWdodFRvcCxcbiAgJi1wbGFjZW1lbnQtcmlnaHRCb3R0b20ge1xuICAgIHBhZGRpbmctbGVmdDogQHBvcG92ZXItZGlzdGFuY2U7XG4gIH1cblxuICAmLXBsYWNlbWVudC1ib3R0b20sXG4gICYtcGxhY2VtZW50LWJvdHRvbUxlZnQsXG4gICYtcGxhY2VtZW50LWJvdHRvbVJpZ2h0IHtcbiAgICBwYWRkaW5nLXRvcDogQHBvcG92ZXItZGlzdGFuY2U7XG4gIH1cblxuICAmLXBsYWNlbWVudC1sZWZ0LFxuICAmLXBsYWNlbWVudC1sZWZ0VG9wLFxuICAmLXBsYWNlbWVudC1sZWZ0Qm90dG9tIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBAcG9wb3Zlci1kaXN0YW5jZTtcbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBwb3BvdmVyLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBib3gtc2hhZG93OiBAYm94LXNoYWRvdy1iYXNlO1xuICAgIGJveC1zaGFkb3c6IH4nMCAwIDhweCBAe3NoYWRvdy1jb2xvcn0gXFw5JztcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLyogSUUxMCsgKi9cbiAgICAmLWlubmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IEBib3gtc2hhZG93LWJhc2U7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgbWluLXdpZHRoOiBAcG9wb3Zlci1taW4td2lkdGg7XG4gICAgbWluLWhlaWdodDogQHBvcG92ZXItbWluLWhlaWdodDtcbiAgICBtYXJnaW46IDA7IC8vIHJlc2V0IGhlYWRpbmcgbWFyZ2luXG4gICAgcGFkZGluZzogNXB4IEBwb3BvdmVyLXBhZGRpbmctaG9yaXpvbnRhbCA0cHg7XG4gICAgY29sb3I6IEBoZWFkaW5nLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBib3JkZXItY29sb3Itc3BsaXQ7XG4gIH1cblxuICAmLWlubmVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLXNtIEBwb3BvdmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjb2xvcjogQHBvcG92ZXItY29sb3I7XG4gIH1cblxuICAmLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA0cHggMCAxMnB4O1xuICAgIGNvbG9yOiBAcG9wb3Zlci1jb2xvcjtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogKFxuICAgICAgICA0cHggKyAoKEBsaW5lLWhlaWdodC1iYXNlICogQGZvbnQtc2l6ZS1iYXNlIC0gQGZvbnQtc2l6ZS1iYXNlKSAvIDIpXG4gICAgICApOyAvLyA0cHggZm9yIHBhZGRpbmctdG9wLCA0cHggZm9yIHZlcnRpY2FsIG1pZGRsZVxuICAgICAgY29sb3I6IEB3YXJuaW5nLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgfVxuICAgICYtdGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiBAZm9udC1zaXplLWJhc2UgKyA4cHg7XG4gICAgfVxuICB9XG5cbiAgJi1idXR0b25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG4gIH1cblxuICAvLyBBcnJvd3NcbiAgLy8gLnBvcG92ZXItYXJyb3cgaXMgb3V0ZXIsIC5wb3BvdmVyLWFycm93OmFmdGVyIGlzIGlubmVyXG5cbiAgJi1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBzcXJ0KEBwb3BvdmVyLWFycm93LXdpZHRoICogQHBvcG92ZXItYXJyb3ctd2lkdGggKiAyKTtcbiAgICBoZWlnaHQ6IHNxcnQoQHBvcG92ZXItYXJyb3ctd2lkdGggKiBAcG9wb3Zlci1hcnJvdy13aWR0aCAqIDIpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAoc3FydChAcG9wb3Zlci1hcnJvdy13aWR0aCAqIEBwb3BvdmVyLWFycm93LXdpZHRoICogMikgLyAyKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cblxuICAmLXBsYWNlbWVudC10b3AgPiAmLWNvbnRlbnQgPiAmLWFycm93LFxuICAmLXBsYWNlbWVudC10b3BMZWZ0ID4gJi1jb250ZW50ID4gJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtdG9wUmlnaHQgPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICBib3R0b206IEBwb3BvdmVyLWRpc3RhbmNlIC0gQHBvcG92ZXItYXJyb3ctd2lkdGggKyAyLjJweDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWJnO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWJnO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDdweCBmYWRlKEBibGFjaywgNyUpO1xuICB9XG4gICYtcGxhY2VtZW50LXRvcCA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAmLXBsYWNlbWVudC10b3BMZWZ0ID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgbGVmdDogMTZweDtcbiAgfVxuICAmLXBsYWNlbWVudC10b3BSaWdodCA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIHJpZ2h0OiAxNnB4O1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtcmlnaHQgPiAmLWNvbnRlbnQgPiAmLWFycm93LFxuICAmLXBsYWNlbWVudC1yaWdodFRvcCA+ICYtY29udGVudCA+ICYtYXJyb3csXG4gICYtcGxhY2VtZW50LXJpZ2h0Qm90dG9tID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgbGVmdDogQHBvcG92ZXItZGlzdGFuY2UgLSBAcG9wb3Zlci1hcnJvdy13aWR0aCArIDJweDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWJnO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgICBib3gtc2hhZG93OiAtM3B4IDNweCA3cHggZmFkZShAYmxhY2ssIDclKTtcbiAgfVxuICAmLXBsYWNlbWVudC1yaWdodCA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB9XG4gICYtcGxhY2VtZW50LXJpZ2h0VG9wID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgdG9wOiAxMnB4O1xuICB9XG4gICYtcGxhY2VtZW50LXJpZ2h0Qm90dG9tID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgYm90dG9tOiAxMnB4O1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtYm90dG9tID4gJi1jb250ZW50ID4gJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtYm90dG9tTGVmdCA+ICYtY29udGVudCA+ICYtYXJyb3csXG4gICYtcGxhY2VtZW50LWJvdHRvbVJpZ2h0ID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgdG9wOiBAcG9wb3Zlci1kaXN0YW5jZSAtIEBwb3BvdmVyLWFycm93LXdpZHRoICsgMnB4O1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBwb3BvdmVyLWJnO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWJnO1xuICAgIGJveC1zaGFkb3c6IC0ycHggLTJweCA1cHggZmFkZShAYmxhY2ssIDYlKTtcbiAgfVxuICAmLXBsYWNlbWVudC1ib3R0b20gPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgJi1wbGFjZW1lbnQtYm90dG9tTGVmdCA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIGxlZnQ6IDE2cHg7XG4gIH1cbiAgJi1wbGFjZW1lbnQtYm90dG9tUmlnaHQgPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICByaWdodDogMTZweDtcbiAgfVxuXG4gICYtcGxhY2VtZW50LWxlZnQgPiAmLWNvbnRlbnQgPiAmLWFycm93LFxuICAmLXBsYWNlbWVudC1sZWZ0VG9wID4gJi1jb250ZW50ID4gJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtbGVmdEJvdHRvbSA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIHJpZ2h0OiBAcG9wb3Zlci1kaXN0YW5jZSAtIEBwb3BvdmVyLWFycm93LXdpZHRoICsgMnB4O1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBwb3BvdmVyLWJnO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHBvcG92ZXItYmc7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDNweCAtM3B4IDdweCBmYWRlKEBibGFjaywgNyUpO1xuICB9XG4gICYtcGxhY2VtZW50LWxlZnQgPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAmLXBsYWNlbWVudC1sZWZ0VG9wID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgdG9wOiAxMnB4O1xuICB9XG4gICYtcGxhY2VtZW50LWxlZnRCb3R0b20gPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICBib3R0b206IDEycHg7XG4gIH1cbn1cblxuQGltcG9ydCAnLi9ydGwnO1xuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBwb3BvdmVyLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1wb3BvdmVyJztcblxuLkB7cG9wb3Zlci1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gICYtbWVzc2FnZSB7XG4gICAgJi10aXRsZSB7XG4gICAgICAuQHtwb3BvdmVyLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogQGZvbnQtc2l6ZS1iYXNlICsgOHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLW1kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYnV0dG9ucyB7XG4gICAgLkB7cG9wb3Zlci1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAuQHtwb3BvdmVyLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFudC1wb3BvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLnVuaS0tYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdW5pLXJlZC0xMDApO1xufVxuIiwiLnVuaS0tYnV0dG9ub2xkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC0tYmFja2dyb3VuZDogdmFyKC0tdW5pLWNvbG9yLWJsdWUtZGFyayk7XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAmX19vdXRsaW5lIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGJvcmRlcjogdmFyKC0tdW5pLWNvbG9yLWJsdWUtZGFyayk7XG4gICAgLS1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWNvbG9yLWJsdWUtZGFyayk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWNvbG9yLWJsdWUtZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG59XG5cbi51bmktbGluay1idXR0b24ge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgbWluLWhlaWdodDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcblxuICBjb2xvcjogI2FjYjViZDtcbiAgb3BhY2l0eTogMC42NTtcblxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4udW5pLS1idXR0b24ge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG5cbiAgbWluLWhlaWdodDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuXG4gIGJvcmRlci1yYWRpdXM6IDM3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1yZWQtMTAwKTtcblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA2cHggIzAwMDAwMDNiO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1wcmltYXJ5LTgwMCk7XG4gIH1cblxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cbiAgJl9fZnJlZS1jb3Vyc2VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktZnJlZS1jb3Vyc2UtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWZyZWUtY291cnNlLWRhcmspO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1mcmVlLWNvdXJzZS1zZWNvbmRhcnkpO1xuICAgIH1cbiAgfVxuXG4gICZfX3NtYWxsIHtcbiAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcblxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxufVxuXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwMHMgZWFzZS1pbi1vdXQgMHM7XG59XG4iLCIudW5pLS1uZXctYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogZWFzZS1pbiAwLjNzO1xuXG4gIG1pbi1oZWlnaHQ6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcblxuICBib3JkZXItcmFkaXVzOiAzN3B4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS11bmktcmVkLTIwMCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktcHJpbWFyeS00MDApO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXVuaS1wcmltYXJ5LTQwMCk7XG4gIH1cblxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cbiAgJl9fZnJlZS1jb3Vyc2VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktZnJlZS1jb3Vyc2UtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1mcmVlLWNvdXJzZS1zZWNvbmRhcnkpO1xuICAgIH1cbiAgfVxuXG4gICZfX3NtYWxsIHtcbiAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcblxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuXG4gICYtbmV3cyB7XG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktcmVkLTIwMCkgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ibGFjay00MDApICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuXG4udW5pLS1wcmltYXJ5LWJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGVhc2UtaW4gMC4zcztcblxuICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLXByaW1hcnktNDAwKTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgYm9yZGVyOiBub25lO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgbWluLXdpZHRoOiAxMnJlbTtcbiAgd2lkdGg6IDEycmVtO1xuICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gIGhlaWdodDogM3JlbTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLXByaW1hcnktNDAwKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11bmktcHJpbWFyeS00MDApO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTBweCAxcHggcmdiYSgyNTUsIDAsIDAsIDAuODIyKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAxcHggcmdiYSgyNTUsIDIsIDIsIDAuNjQ0KTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1yZWQtNDAwKTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWdyZXktNDAwKTtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMzAwKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnVuaS0tc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGVhc2UtaW4gMC4zcztcblxuICBjb2xvcjogdmFyKC0tdW5pLXByaW1hcnktNDAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXVuaS1wcmltYXJ5LTQwMCk7XG4gIG1hcmdpbjogMTBweDtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gIG1pbi13aWR0aDogOHJlbTtcbiAgd2lkdGg6IDlyZW07XG4gIG1pbi1oZWlnaHQ6IDIuN3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXVuaS1wcmltYXJ5LTQwMCk7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktcHJpbWFyeS0zMDApO1xuICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWdyZXktNDAwKTtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbnQtY2Fyb3VzZWwgLnNsaWNrLWRvdHMgbGkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uYW50LWNhcm91c2VsIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS11bmktcmVkLTEwMCk7XG59XG4iLCIudW5pLS1pbnB1dCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWxpZ2h0LTQwMCk7XHJcblxyXG4gIG1pbi1oZWlnaHQ6IDMuNXJlbTtcclxuICBoZWlnaHQ6IDMuNXJlbTtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuICBib3JkZXItcmFkaXVzOiAzN3B4O1xyXG4gIGJveC1zaGFkb3c6IDBweCAzcHggNnB4ICMwMDAwMDAyOTtcclxuICBib3JkZXI6IG5vbmU7XHJcblxyXG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgLmFudC1pbnB1dC1hZmZpeC13cmFwcGVyLCAuYW50LWlucHV0IHtcclxuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGlucHV0IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG5cclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTMwMCkgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IHZhcigtLXVuaS1jb250cmFzdC0zMDApICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1saWdodC00MDApICFpbXBvcnRhbnQ7XHJcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMzBweCB2YXIoLS11bmktbGlnaHQtNDAwKSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYsXHJcbiAgICAmOi1pbnRlcm5hbC1hdXRvZmlsbC1zZWxlY3RlZCxcclxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCxcclxuICAgICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcclxuICAgICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcclxuICAgICY6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xyXG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCkgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IHZhcigtLXVuaS1jb250cmFzdC01MDApICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1saWdodC00MDApICFpbXBvcnRhbnQ7XHJcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMzBweCB2YXIoLS11bmktbGlnaHQtNDAwKSBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICZbdHlwZT1cInRleHRcIl06aG92ZXIsICZbdHlwZT1cInRleHRcIl06Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpkaXNhYmxlZCwgJjpyZWFkLW9ubHkge1xyXG4gICAgICBvcGFjaXR5OiAuNjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG56LXNwaW4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICB6LWluZGV4OiAxMDtcclxuICB9XHJcblxyXG4gIC5hbnQtaW5wdXQtcHJlZml4IHtcclxuICAgIG1hcmdpbi1yaWdodDogLjVyZW07XHJcbiAgfVxyXG5cclxuICAuYW50LWlucHV0LWdyb3VwLWFkZG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICYgPiAqIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMi4ycmVtO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnVuaS0tbmV3LWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgbWluLWhlaWdodDogMy41cmVtO1xuICBoZWlnaHQ6IDMuNXJlbTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDM3cHg7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggNnB4ICMwMDAwMDAyOTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWdyZXktMTAwKTtcblxuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgLmFudC1pbnB1dC1hZmZpeC13cmFwcGVyLFxuICAuYW50LWlucHV0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTMwMCkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYsXG4gICAgJjotaW50ZXJuYWwtYXV0b2ZpbGwtc2VsZWN0ZWQsXG4gICAgJjotd2Via2l0LWF1dG9maWxsLFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0zMDApICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZbdHlwZT1cInRleHRcIl06aG92ZXIsXG4gICAgJlt0eXBlPVwidGV4dFwiXTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmOnJlYWQtb25seSB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuICB9XG5cbiAgbnotc3BpbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gIC5hbnQtaW5wdXQtcHJlZml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgfVxuXG4gIC5hbnQtaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICYgPiAqIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIuMnJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxufVxuXG4udW5pLS1ib3gtbGFiZWwtZmxvYXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxM3B4O1xuICB3aWR0aDogdmFyKC0tdW5pLWlucHV0LXdpZHRoLCAzMzBweCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gIC51bmktLWlucHV0LXRleHQsXG4gIC5sb2dpbi0taW5wdXQtcGFzc3dvcmQge1xuICAgIHdpZHRoOiB2YXIoLS11bmktaW5wdXQtd2lkdGgsIDMzMHB4KTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVuaS1ncmV5LTMwMCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcblxuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjY0LCAwLjA5LCAwLjA4LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42NCwgMC4wOSwgMC4wOCwgMSk7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG5cbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCA1MHB4IHRyYW5zcGFyZW50IGluc2V0OyAvLyBDb3IgZG8gZnVuZG9cbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS11bmktZ3JleS0zMDApOyAvKiBDb3IgZG8gdGV4dG8gKi9cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11bmktcHJpbWFyeS00MDApICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC51bmktLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gIH1cblxuICAudW5pLS1pbnB1dC10ZXh0OnJlcXVpcmVkOmludmFsaWQgKyAudW5pLS1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTMwMCk7XG4gIH1cblxuICAudW5pLS1pbnB1dC10ZXh0OmZvY3VzOnJlcXVpcmVkOmludmFsaWQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11bmktZ3JleS0zMDApO1xuICB9XG5cbiAgLnVuaS0taW5wdXQtdGV4dDpyZXF1aXJlZDppbnZhbGlkICsgLnVuaS0tbGFiZWwge1xuICAgIGNvbnRlbnQ6IFwiKlwiO1xuICB9XG5cbiAgLnVuaS0taW5wdXQtdGV4dDotd2Via2l0LWF1dG9maWxsICsgLnVuaS0tbGFiZWwsXG4gIC51bmktLWlucHV0LXRleHQ6Zm9jdXMgKyAudW5pLS1sYWJlbCxcbiAgLnVuaS0taW5wdXQtdGV4dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIC51bmktLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMzAwKTtcbiAgfVxufVxuXG4ucGFzc3dvcmQtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjhyZW07XG59XG5cbi5hbnQtcGlja2VyLWNlbGwtaW4tdmlldy5hbnQtcGlja2VyLWNlbGwtc2VsZWN0ZWQgLmFudC1waWNrZXItY2VsbC1pbm5lciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXVuaS1wcmltYXJ5LTQwMCk7XG59XG5cbi5hbnQtcGlja2VyLXRvZGF5LWJ0biB7XG4gIGNvbG9yOiB2YXIoLS11bmktcHJpbWFyeS04MDApO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS11bmktcHJpbWFyeS00MDApO1xuICB9XG59XG5cbi5hbnQtcGlja2VyLWNlbGwtaW4tdmlldy5hbnQtcGlja2VyLWNlbGwtdG9kYXkgLmFudC1waWNrZXItY2VsbC1pbm5lcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS11bmktcHJpbWFyeS00MDApO1xufVxuXG4uYW50LXBpY2tlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4iLCJsYWJlbFtuei1jaGVja2JveF0ge1xuICBjb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgc3BhbixcbiAgLmFudC1jaGVja2JveC1jaGVja2VkOjphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG59XG4iLCIudW5pLS1jaGVja2JveC1jb250YWluZXIge1xuICB3aWR0aDogMzMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWFyZ2luLXRvcDogNDBweDtcblxuICAudW5pLS1jaGVja2JveC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcblxuICAgIC51bmktLWNoZWNrYm94IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcblxuICAgICAgJjpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1yZWQtMjAwKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlT3BhY2l0eSAxcyBlYXNlLWluLW91dDtcbiAgICAgICAgLW1vei1hbmltYXRpb246IGZhZGVPcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtby1hbmltYXRpb246IGZhZGVPcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb246IGZhZGVPcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ncmV5LTIwMCk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIH4gLmNoZWNrbWFyazo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2ttYXJrOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbGVmdDogNnB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmZjtcbiAgICB9XG5cbiAgICAuY2hlY2ttYXJrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWdyZXktMTAwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU9wYWNpdHkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4iLCIudW5pLS1wcmltYXJ5LTUwMCB7XG4gIGNvbG9yOiB2YXIoLS11bmktcmVkLTEwMCk7XG59XG4iLCIudW5pLS1maWVsZHNldCB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXVuaS1yZWQtMTAwKTtcbiAgfVxuXG4gIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuc3Vic2NyaXB0aW9uLXBlcmlvZCB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICB9XG5cbiAgcCxcbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIH1cblxuICBsYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICB9XG5cbiAgaDQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLnVuaS0tZm9ybSB7XG4gICYtLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgIHNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIG56LXNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAudW5pLS1pbnB1dCB7XG4gICAgaW5wdXQge1xuICAgICAgJi5uZy10b3VjaGVkLm5nLWludmFsaWQge1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi51bmktLXByb2ZpbGUtLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCI7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCI7XG5cbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxuXG4gIGhyIHtcbiAgICBmbGV4OiAxO1xuXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xuXG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcblxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktcmVkLTEwMCk7XG4gIH1cblxuICBhIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWxpZ2h0LTEwMCk7XG5cbiAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBtaW4td2lkdGg6IDJyZW07XG4gICAgd2lkdGg6IDJyZW07XG5cbiAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuXG4gICAgJi51bmktLWhlYWRlci0tYV9faW52ZXJ0LW1hcmdpbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnVuaS0taHIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLXJlZC0xMDApO1xuICBtYXJnaW46IDAuNzVyZW0gMDtcblxuICBib3JkZXI6IG5vbmU7XG59XG4iLCIuZml4LWlubmVyLWh0bWwge1xuICBpZnJhbWUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIHAsIHNwYW4sIGxhYmVsLCBoMSwgaDIsIGgzLCBoNCwgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6IHZhcigtLXVuaS1jb250cmFzdC01MDApICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogdmFyKC0tdW5pLXByaW1hcnktNDAwKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB9XG59XG4iLCJhW2hyZWZdIHtcbiAgY29sb3I6IHZhcigtLXVuaS1yZWQtMTAwKTtcblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS11bmktY29udHJhc3QtNTAwKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuIiwiLnVuaS0tbW9kYWwtLW5vLWNvbnRlbnQge1xuICAuYW50LW1vZGFsLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLnVuaS0tbW9kYWwtLWRlZmF1bHQge1xuICAuYW50LW1vZGFsLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICB9XG59XG5cbi5jcmVhdGUtbm90ZS1tb2RhbCB7XG4gIC5hbnQtbW9kYWwtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWJsYWNrLTUwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAyM3B4IDM3cHg7XG4gIH1cblxuICAuYW50LW1vZGFsLWNsb3NlLXgge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6IHZhcigtLXVuaS1yZWQtMTAwKTtcbiAgfVxufVxuXG4udW5pLS1tb2RhbC0tZGVmYXVsdCAuYW50LW1vZGFsLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoYXQgdG9wLCAjMjEyNDI5IDEwJSwgIzEwMTAxMCA1MCUpO1xufVxuIiwiLnVuaS0tbmF2IHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG5cbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcblxuICB9XG5cbiAgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIH1cblxuICBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMzAwKTtcblxuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICZfX3NlbGVjdGVke1xuICAgIGNvbG9yOiB2YXIoLS11bmktY29udHJhc3QtNTAwKSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLmJhY2tncm91bmQtLWRvbWVzdGlrYXtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwMkQwMCAhaW1wb3J0YW50O1xufVxuIiwiLnByb2dyZXNzLWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMzMlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdmFyKC0tdW5pLWNvbG9yLW9yYW5nZSkgMCUsIHZhcigtLXVuaS1jb2xvci1vcmFuZ2UtZGFyaykgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDM7XG59XG4iLCIuaGlkZS1zY3JvbGxiYXIge1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIHNjcm9sbGJhci1oZWlnaHQ6IG5vbmU7XG59XG5cbi51bmktLXNjcm9sbGJhciB7XG4gIC0tdGh1bWItY29sb3I6IHZhcigtLXNjcm9sbGJhci10aHVtYi1jb2xvciwgdmFyKC0tdW5pLXJlZC0xMDApKTtcbiAgLS10aHVtYi1iYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCwgdmFyKC0tdW5pLWxpZ2h0LTIwMCkpO1xuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggdmFyKC0tdGh1bWItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC42cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRodW1iLWJhY2tncm91bmQpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC42cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRodW1iLWJhY2tncm91bmQpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA0cHggdmFyKC0tdGh1bWItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRodW1iLWNvbG9yKTtcbiAgfVxufVxuXG4qIHtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6IHZhcigtLXVuaS1yZWQtMjAwKSB2YXIoLS11bmktbGlnaHQtODAwKTtcbn1cblxuLyogV29ya3Mgb24gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG4qOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogNXB4O1xufVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXVuaS1saWdodC04MDApO1xufVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1wcmltYXJ5LTgwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG4iLCIudW5pLS1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICBjb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXVuaS1jb250cmFzdC01MDApO1xuXG4gIG1pbi1oZWlnaHQ6IDMuNXJlbTtcbiAgaGVpZ2h0OiAzLjVyZW07XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggIzAwMDAwMDI5O1xuXG4gIGZvbnQtc2l6ZTogMXJlbTtcblxuICBuei1zZWxlY3QtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0zMDApO1xuICB9XG5cbiAgbnotc2VsZWN0LXRvcC1jb250cm9sIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgbnotc2VsZWN0LXNlYXJjaCB7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgbnotc2VsZWN0LWl0ZW0sIG56LXNlbGVjdC1wbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgbnotc2VsZWN0LWFycm93IHtcbiAgICByaWdodDogMjRweDtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIHRvcDogY2FsYyg1MCUgLSAuNXJlbSk7XG5cbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG4iLCIudW5pLS1uZXctc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjUwcHg7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogMzBweDtcblxuICBmb250LXNpemU6IDAuOXJlbTtcblxuICAmW29wZW5dIHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgc3VtbWFyeSB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWJsYWNrLTQwMCk7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTIwMCk7XG4gICAgbWluLWhlaWdodDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDM3cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWdyZXktMTAwKTtcbiAgfVxuXG4gIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW29wZW5dIHN1bW1hcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIHN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQgMTAwbXM7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoMCUsIDAlKTtcbiAgfVxuXG4gIHN1bW1hcnk6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmW29wZW5dIHN1bW1hcnk6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKDUwJSwgMCUpO1xuICAgIGNvbG9yOiB2YXIoLS11bmktcmVkLTIwMCk7XG4gIH1cblxuICB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdW5pLWJsYWNrLTEwMCk7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTMwMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgMC41cmVtKTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWdyZXktNDAwKTtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1yZWQtMjAwKTtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApO1xuICAgIH1cbiAgfVxufVxuIiwiLm5vd3JhcCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi5uZ3gtdWktdG91cl9iYWNrZHJvcCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnN3aXRjaF9fY29udGFpbmVyIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG5cbiAgLnN3aXRjaCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tbGVmdDogLTk5OTlweDtcblxuICAgICYgKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuc3dpdGNoLS1zaGFkb3c6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTEwMCk7XG4gIH1cblxuICAuc3dpdGNoLS1zaGFkb3c6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjBweCk7XG4gIH1cblxuICAuc3dpdGNoLS1zaGFkb3cgKyBsYWJlbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZGRkZDtcbiAgICBib3JkZXItcmFkaXVzOiA2MHB4O1xuXG4gICAgJjpiZWZvcmUsXG4gICAgOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDFweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDYwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHM7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICB3aWR0aDogNjJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgIH1cbiAgfVxufVxuXG4uc3dpdGNoLS1mbGF0ICsgbGFiZWwge1xuICBwYWRkaW5nOiAycHg7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA2MHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHM7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xufVxuXG4uc3dpdGNoLS1mbGF0ICsgbGFiZWw6YmVmb3JlLFxuLnN3aXRjaC0tZmxhdCArIGxhYmVsOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnN3aXRjaC0tZmxhdCArIGxhYmVsOmJlZm9yZSB7XG4gIHRvcDogMnB4O1xuICBsZWZ0OiAycHg7XG4gIGJvdHRvbTogMnB4O1xuICByaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmxhY2stNDAwKTtcbiAgYm9yZGVyLXJhZGl1czogNjBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5zd2l0Y2gtLWZsYXQgKyBsYWJlbDphZnRlciB7XG4gIHRvcDogNHB4O1xuICBsZWZ0OiA0cHg7XG4gIGJvdHRvbTogNHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1yZWQtMjAwKTtcbiAgYm9yZGVyLXJhZGl1czogNTJweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDAuNHMsIGJhY2tncm91bmQgMC40cztcbiAgY29udGVudDogXCJFbnRyYXJcIjtcbiAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTEwMCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN3aXRjaC0tZmxhdDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogOTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLXJlZC0yMDApO1xuICBjb250ZW50OiBcIlJlZ2lzdHJhclwiO1xuICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN3aXRjaF9fY29udGFpbmVyIGxhYmVsIC5jYW4tdG9nZ2xlX19zd2l0Y2g6YmVmb3JlIHtcbiAgbGVmdDogMTAwcHg7XG4gIHRvcDogNnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB3aWR0aDogMTAwcHg7XG4gIHBhZGRpbmc6IDAgMTJweDtcbn1cblxuLnN3aXRjaF9fY29udGFpbmVyIGxhYmVsIC5jYW4tdG9nZ2xlX19zd2l0Y2g6YWZ0ZXIge1xuICB0b3A6IDJweDtcbiAgbGVmdDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHdpZHRoOiA2NXB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc3dpdGNoX19jb250YWluZXIgbGFiZWwgLmNhbi10b2dnbGVfX3N3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtY2hlY2tlZCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc3dpdGNoX19jb250YWluZXIgbGFiZWwgLmNhbi10b2dnbGVfX3N3aXRjaDphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS11bmNoZWNrZWQpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuIiwiLnRvb2x0aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDEwMDtcbiAgbWFyZ2luLXRvcDogODBweDtcblxuICBzdmcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGZpbGw6IHZhcigtLXVuaS1ncmV5LTEwMCk7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGZpbGw6IHZhcigtLXVuaS1yZWQtMjAwKTtcbiAgICB9XG4gIH1cbn1cblxuLnRvb2x0aXAgLnRvb2x0aXB0ZXh0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmxhY2stMTAwKTtcbiAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTEwMCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBib3R0b206IDIwMCU7XG4gIGxlZnQ6IDAlO1xuXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn1cblxuLnRvb2x0aXAgLnRvb2x0aXB0ZXh0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDEwcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tdW5pLWJsYWNrLTEwMCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi50b29sdGlwOmhvdmVyIC50b29sdGlwdGV4dCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG59XG4iLCIudGFnIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMyMTI0Mjk7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWluLXdpZHRoOiA3cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDJweCByZ2JhKDAsMCwwLDAuMik7XG4gIG1hcmdpbjogMXJlbSAwO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIG1hcmdpbjogMC4ycmVtIDA7XG4gIH1cblxuICAmLS1idWxsZXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNkZTQyNDI7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBtYXJnaW46IDAgMXJlbSAwIDA7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgfVxuXG4gICYtLWxpdmUge1xuICAgIGJhY2tncm91bmQ6ICNkZTQyNDI7XG4gIH1cblxuICAmLS1vbmxpbmUge1xuICAgIGJhY2tncm91bmQ6ICMwMjdCQzU7XG4gIH1cblxuICAmLS1wcmVzZW50aWFsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMEQwRDBEO1xuICB9XG5cbiAgJi0tdGl0bGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogc21hbGw7XG5cbiAgICAmLS10aW1lIHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAmLS1zdGFyIHtcbiAgICBmb250LXNpemU6IHNtYWxsO1xuICB9XG59XG5cbi8vIG11ZGFyIGNvciBwcmVlbmNoaW1lbnRvIGVzdHJlbGFcbi5hbnQtcmF0ZS1zdGFyLWZ1bGwgcGF0aDpmaXJzdC1jaGlsZHtcbiAgZmlsbDogdmFyKC0tdW5pLXllbGxvdy0xMDApICFpbXBvcnRhbnQ7XG59XG5cbi5hbnQtcmF0ZS1zdGFyLWZ1bGwgcGF0aDpsYXN0LWNoaWxke1xuICBmaWxsOiB2YXIoLS11bmkteWVsbG93LTEwMCkgIWltcG9ydGFudDtcbn1cblxuLmFudC1yYXRlLXN0YXItZmlyc3QgcGF0aDpmaXJzdC1jaGlsZHtcbiAgZmlsbDogdmFyKC0tdW5pLXllbGxvdy0xMDApICFpbXBvcnRhbnQ7XG59XG5cbi5hbnQtcmF0ZS1zdGFyLWhhbGYgcGF0aDpsYXN0LWNoaWxke1xuICBmaWxsOiB2YXIoLS11bmkteWVsbG93LTEwMCkgIWltcG9ydGFudDtcbn1cblxuLy8gcmV0aXJhciBwcmVlbmNoaW1lbnRvIGRhIGVzdHJlbGFcbi5hbnQtcmF0ZS1zdGFyLXplcm97XG4gIHBhdGg6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAvLyBtdWRhciBjb3IgZGEgZXN0cmVsYSBzZW0gcHJlZW5jaGltZW50b1xuICBwYXRoOm50aC1jaGlsZCgyKXtcbiAgICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuY2F0ZWdvcnktaWNvbntcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbGluZWFyLWdyYWRpZW50KDIyN2RlZywgI0YxNTc1NCAwJSwgI0I3MzAyRSAxMDAlKSAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG5cbiAgJi13aGl0ZXtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBsaW5lYXItZ3JhZGllbnQoMjI3ZGVnLCB2YXIoLS11bmktZ3JleS0yMDApIDAlLCB2YXIoLS11bmktZ3JleS0zMDApIDEwMCUpIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcblxuICAgIGltZ3tcbiAgICAgIGZpbHRlcjogaW52ZXJ0KDUwJSkgYnJpZ2h0bmVzcyg4MCUpO1xuICAgIH1cbiAgfVxuXG4gICYtYmx1ZXtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBsaW5lYXItZ3JhZGllbnQoMjE2ZGVnLCAjMDFBOUYwIDAlLCAjMDM1N0E1IDEwMCUpIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICYtZ3JlZW57XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbGluZWFyLWdyYWRpZW50KDIyN2RlZywgIzQ0QzE4QSAwJSwgIzFDNzA0QyAxMDAlKSAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gIH1cblxuICAmLXllbGxvd3tcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBsaW5lYXItZ3JhZGllbnQoMjI3ZGVnLCAjRjlDMDU3IDAlLCAjREI5NTM3IDEwMCUpIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICYtcmVke1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgyMjdkZWcsICNGMTU3NTQgMCUsICNCNzMwMkUgMTAwJSkgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuICB9XG5cbiAgJi1wdXJwbGV7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbGluZWFyLWdyYWRpZW50KDIyN2RlZywgI0JDMDBGNCAwJSwgIzg0MDBBQiAxMDAlKSAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gIH1cbn1cbiIsIi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmxhY2stMTAwKTtcbiAgdG9wOiAwO1xuXG4gIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuXG4gICAgLmljb24tLW5vdGlmaWNhdGlvbnMge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgLmljb24tLWFycm93IHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgIH1cblxuICAgIC51c2VyLS1hdmF0YXIge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDI2cHgpIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgJi0tbm90aWZpY2F0aW9ucyB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICB9XG4gIH1cblxuICAmLS1wcm9maWxlIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjBweDtcbiAgICBib3JkZXItbGVmdDogMC41cHggc29saWQgdmFyKC0tdW5pLWdyZXktNDAwKTtcbiAgfVxuXG4gICYtLWljb25zIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmRyb3Bkb3duLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDYycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ibGFjay0xMDApO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3gtc2hhZG93OiAwIDhweCAxNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB6LWluZGV4OiAxO1xuICBhbmltYXRpb246IGZhZGVJbiAwLjNzIGxpbmVhcjtcblxuICBhLFxuICBhIGltZyB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi1ub3RpZmljYXRpb25zIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1pbi13aWR0aDogNTAwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDIxLCAyMiwgMjYpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDkwZGVnLFxuICAgICAgcmdiYSgyMSwgMjIsIDI2LCAxKSAwJSxcbiAgICAgIHJnYmEoMzMsIDM2LCA0MSwgMSkgNTAlLFxuICAgICAgcmdiYSgyMSwgMjIsIDI2LCAxKSAxMDAlXG4gICAgKTtcblxuICAgICYtLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZm9vdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgb3BhY2l0eTogNzUlO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tY29udGVudCBhIHtcbiAgY29sb3I6IGJsYWNrO1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDgwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG4gIGltZyB7XG4gICAgb3BhY2l0eTogNTAlO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdW5pLWdyZXktNDAwKTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyMHB4IDIwcHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktZ3JleS00MDApO1xuICAgIG9wYWNpdHk6IDkwJTtcblxuICAgIGltZyB7XG4gICAgICBvcGFjaXR5OiA5MCU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDIwcHggMCAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjBweCAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd246aG92ZXIgLmRyb3BidG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U4ZTQxO1xufVxuIiwiLnVuaS1ub3RpZmljYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICYtLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYtLWljb24ge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgJi0tdGV4dCB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTIwMCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1pY29uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBvcGFjaXR5OiA3MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJi10eXBlLW5vdGlmaWNhdGlvbiB7XG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS11bmktcmVkLTEwMCk7XG4gICAgYmFja2dyb3VuZDogcmdiKDI5LCA2NiwgODIpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDkwZGVnLFxuICAgICAgcmdiYSgyOSwgNjYsIDgyLCAxKSAwJSxcbiAgICAgIHJnYmEoMzEsIDM0LCAzOSwgMSkgNTElLFxuICAgICAgcmdiYSgyMSwgMjIsIDI2LCAxKSAxMDAlXG4gICAgKTtcblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktcmVkLTIwMCk7XG4gICAgfVxuICB9XG5cbiAgJi10eXBlLXN1Y2Nlc3Mge1xuICAgIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tdW5pLWdyZWVuLTEwMCk7XG4gICAgYmFja2dyb3VuZDogcmdiKDI5LCA4MiwgNTgpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDkwZGVnLFxuICAgICAgcmdiYSgyOSwgODIsIDU4LCAxKSAwJSxcbiAgICAgIHJnYmEoMzEsIDM0LCAzOSwgMSkgNTElLFxuICAgICAgcmdiYSgyMSwgMjIsIDI2LCAxKSAxMDAlXG4gICAgKTtcblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktZ3JlZW4tMjAwKTtcbiAgICB9XG4gIH1cblxuICAmLXR5cGUtZXJyb3Ige1xuICAgIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tdW5pLXJlZC0xMDApO1xuICAgIGJhY2tncm91bmQ6IHJnYig4MiwgMjksIDI4KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICA5MGRlZyxcbiAgICAgIHJnYmEoODIsIDI5LCAyOCwgMSkgMCUsXG4gICAgICByZ2JhKDMxLCAzNCwgMzksIDEpIDUxJSxcbiAgICAgIHJnYmEoMjEsIDIyLCAyNiwgMSkgMTAwJVxuICAgICk7XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogdmFyKC0tdW5pLXJlZC0yMDApO1xuICAgIH1cbiAgfVxuXG4gICYtdHlwZS13YXJuaW5nIHtcbiAgICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLXVuaS15ZWxsb3ctMTAwKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoODEsIDYzLCAyOSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgOTBkZWcsXG4gICAgICByZ2JhKDgxLCA2MywgMjksIDEpIDAlLFxuICAgICAgcmdiYSgzMSwgMzQsIDM5LCAxKSA1MSUsXG4gICAgICByZ2JhKDIxLCAyMiwgMjYsIDEpIDEwMCVcbiAgICApO1xuXG4gICAgaDMge1xuICAgICAgY29sb3I6IHZhcigtLXVuaS15ZWxsb3ctMjAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */
