@layer reset;
@layer base;
/* stylelint-disable */
:root {
  --iti-hover-color: rgba(0, 0, 0, 0.05);
  --iti-border-color: #ccc;
  --iti-dialcode-color: #999;
  --iti-dropdown-bg: white;
  --iti-search-icon-color: #999;
  --iti-spacer-horizontal: 8px;
  --iti-flag-height: 12px;
  --iti-flag-width: 16px;
  --iti-border-width: 1px;
  --iti-arrow-height: 4px;
  --iti-arrow-width: 6px;
  --iti-triangle-border: calc(var(--iti-arrow-width) / 2);
  --iti-arrow-padding: 6px;
  --iti-arrow-color: #555;
  --iti-path-flags-1x: url("../img/flags.webp");
  --iti-path-flags-2x: url("../img/flags@2x.webp");
  --iti-path-globe-1x: url("../img/globe.webp");
  --iti-path-globe-2x: url("../img/globe@2x.webp");
  --iti-flag-sprite-width: 3904px;
  --iti-flag-sprite-height: 12px;
  --iti-mobile-popup-margin: 30px;
}

.iti {
  position: relative;
  display: inline-block;
}

.iti * {
  box-sizing: border-box;
}

.iti__a11y-text {
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  position: absolute;
}

.iti input.iti__tel-input,
.iti input.iti__tel-input[type=text],
.iti input.iti__tel-input[type=tel] {
  position: relative;
  z-index: 0;
  margin: 0 !important;
}

[dir=rtl] .iti input.iti__tel-input,
[dir=rtl] .iti input.iti__tel-input[type=text],
[dir=rtl] .iti input.iti__tel-input[type=tel] {
  text-align: right;
}

.iti__country-container {
  position: absolute;
  top: 0;
  bottom: 0;
  padding: var(--iti-border-width);
}

.iti__selected-country {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border-radius: 0;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
}

.iti__selected-country-primary {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal);
}

.iti__arrow {
  margin-left: var(--iti-arrow-padding);
  width: 0;
  height: 0;
  border-left: var(--iti-triangle-border) solid transparent;
  border-right: var(--iti-triangle-border) solid transparent;
  border-top: var(--iti-arrow-height) solid var(--iti-arrow-color);
}

[dir=rtl] .iti__arrow {
  margin-right: var(--iti-arrow-padding);
  margin-left: 0;
}

.iti__arrow--up {
  border-top: none;
  border-bottom: var(--iti-arrow-height) solid var(--iti-arrow-color);
}

.iti__dropdown-content {
  border-radius: 3px;
  background-color: var(--iti-dropdown-bg);
}

.iti--inline-dropdown .iti__dropdown-content {
  position: absolute;
  z-index: 2;
  margin-top: 3px;
  margin-left: calc(var(--iti-border-width) * -1);
  border: var(--iti-border-width) solid var(--iti-border-color);
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}

.iti__search-input {
  width: 100%;
  border-width: 0;
  border-radius: 3px;
  padding-left: 30px;
  padding-right: 28px;
}

[dir=rtl] .iti__search-input {
  padding-left: inherit;
  padding-right: 30px;
  background-position: right 8px center;
}

.iti__search-input + .iti__country-list {
  border-top: 1px solid var(--iti-border-color);
}

.iti__search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
          appearance: none;
}

.iti__search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.iti__search-icon {
  position: absolute;
  left: 8px;
  display: flex;
  pointer-events: none;
}

[dir=rtl] .iti__search-icon {
  left: auto;
  right: 8px;
}

.iti__search-icon-svg {
  stroke: var(--iti-search-icon-color);
  fill: none;
  stroke-width: 3;
}

.iti__search-clear {
  position: absolute;
  right: 4px;
  background: transparent;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s ease;
  width: 24px;
  height: 24px;
}

.iti__search-clear .iti__search-clear-x {
  stroke-width: 2;
}

.iti__search-clear .iti__search-clear-bg {
  fill: var(--iti-search-icon-color);
}

[dir=rtl] .iti__search-clear {
  right: auto;
  left: 4px;
}

.iti__search-clear:hover, .iti__search-clear:focus-visible {
  background: var(--iti-hover-color);
  outline: none;
}

.iti__no-results {
  text-align: center;
  padding: 30px 0;
}

.iti__country-list {
  list-style: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.iti--inline-dropdown .iti__country-list {
  max-height: 185px;
}

.iti--flexible-dropdown-width .iti__country-list {
  white-space: nowrap;
}

@media (max-width: 500px) {
  .iti--flexible-dropdown-width .iti__country-list {
    white-space: normal;
  }
}
.iti__country {
  display: flex;
  align-items: center;
  padding: 8px var(--iti-spacer-horizontal);
  outline: none;
}

.iti__dial-code {
  color: var(--iti-dialcode-color);
}

.iti__country.iti__highlight {
  background-color: var(--iti-hover-color);
}

.iti__country-list .iti__flag, .iti__country-name {
  margin-right: var(--iti-spacer-horizontal);
}

[dir=rtl] .iti__country-list .iti__flag, [dir=rtl] .iti__country-name {
  margin-right: 0;
  margin-left: var(--iti-spacer-horizontal);
}

.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) button.iti__selected-country {
  cursor: pointer;
}

.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,
.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary {
  background-color: var(--iti-hover-color);
}

.iti .iti__selected-dial-code {
  margin-left: 4px;
}

[dir=rtl] .iti .iti__selected-dial-code {
  margin-left: 0;
  margin-right: 4px;
}

.iti--container {
  position: fixed;
  top: -1000px;
  left: -1000px;
  z-index: 1060;
  padding: var(--iti-border-width);
}

.iti--container:hover {
  cursor: pointer;
}

.iti__hide {
  display: none;
}

.iti__v-hide {
  visibility: hidden;
}

.iti--fullscreen-popup.iti--container {
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  padding: var(--iti-mobile-popup-margin);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.iti--fullscreen-popup .iti__dropdown-content {
  display: flex;
  flex-direction: column;
  max-height: 100%;
  position: relative;
}

.iti--fullscreen-popup .iti__country {
  padding: 10px 10px;
  line-height: 1.5em;
}

.iti__flag {
  --iti-flag-offset: 100px;
  height: var(--iti-flag-height);
  width: var(--iti-flag-width);
  border-radius: 1px;
  box-shadow: 0px 0px 1px 0px #888;
  background-image: var(--iti-path-flags-1x);
  background-repeat: no-repeat;
  background-position: var(--iti-flag-offset) 0;
  background-size: var(--iti-flag-sprite-width) var(--iti-flag-sprite-height);
}

.iti__ac {
  --iti-flag-offset: 0px;
}

.iti__ad {
  --iti-flag-offset: -16px;
}

.iti__ae {
  --iti-flag-offset: -32px;
}

.iti__af {
  --iti-flag-offset: -48px;
}

.iti__ag {
  --iti-flag-offset: -64px;
}

.iti__ai {
  --iti-flag-offset: -80px;
}

.iti__al {
  --iti-flag-offset: -96px;
}

.iti__am {
  --iti-flag-offset: -112px;
}

.iti__ao {
  --iti-flag-offset: -128px;
}

.iti__ar {
  --iti-flag-offset: -144px;
}

.iti__as {
  --iti-flag-offset: -160px;
}

.iti__at {
  --iti-flag-offset: -176px;
}

.iti__au {
  --iti-flag-offset: -192px;
}

.iti__aw {
  --iti-flag-offset: -208px;
}

.iti__ax {
  --iti-flag-offset: -224px;
}

.iti__az {
  --iti-flag-offset: -240px;
}

.iti__ba {
  --iti-flag-offset: -256px;
}

.iti__bb {
  --iti-flag-offset: -272px;
}

.iti__bd {
  --iti-flag-offset: -288px;
}

.iti__be {
  --iti-flag-offset: -304px;
}

.iti__bf {
  --iti-flag-offset: -320px;
}

.iti__bg {
  --iti-flag-offset: -336px;
}

.iti__bh {
  --iti-flag-offset: -352px;
}

.iti__bi {
  --iti-flag-offset: -368px;
}

.iti__bj {
  --iti-flag-offset: -384px;
}

.iti__bl {
  --iti-flag-offset: -400px;
}

.iti__bm {
  --iti-flag-offset: -416px;
}

.iti__bn {
  --iti-flag-offset: -432px;
}

.iti__bo {
  --iti-flag-offset: -448px;
}

.iti__bq {
  --iti-flag-offset: -464px;
}

.iti__br {
  --iti-flag-offset: -480px;
}

.iti__bs {
  --iti-flag-offset: -496px;
}

.iti__bt {
  --iti-flag-offset: -512px;
}

.iti__bw {
  --iti-flag-offset: -528px;
}

.iti__by {
  --iti-flag-offset: -544px;
}

.iti__bz {
  --iti-flag-offset: -560px;
}

.iti__ca {
  --iti-flag-offset: -576px;
}

.iti__cc {
  --iti-flag-offset: -592px;
}

.iti__cd {
  --iti-flag-offset: -608px;
}

.iti__cf {
  --iti-flag-offset: -624px;
}

.iti__cg {
  --iti-flag-offset: -640px;
}

.iti__ch {
  --iti-flag-offset: -656px;
}

.iti__ci {
  --iti-flag-offset: -672px;
}

.iti__ck {
  --iti-flag-offset: -688px;
}

.iti__cl {
  --iti-flag-offset: -704px;
}

.iti__cm {
  --iti-flag-offset: -720px;
}

.iti__cn {
  --iti-flag-offset: -736px;
}

.iti__co {
  --iti-flag-offset: -752px;
}

.iti__cr {
  --iti-flag-offset: -768px;
}

.iti__cu {
  --iti-flag-offset: -784px;
}

.iti__cv {
  --iti-flag-offset: -800px;
}

.iti__cw {
  --iti-flag-offset: -816px;
}

.iti__cx {
  --iti-flag-offset: -832px;
}

.iti__cy {
  --iti-flag-offset: -848px;
}

.iti__cz {
  --iti-flag-offset: -864px;
}

.iti__de {
  --iti-flag-offset: -880px;
}

.iti__dj {
  --iti-flag-offset: -896px;
}

.iti__dk {
  --iti-flag-offset: -912px;
}

.iti__dm {
  --iti-flag-offset: -928px;
}

.iti__do {
  --iti-flag-offset: -944px;
}

.iti__dz {
  --iti-flag-offset: -960px;
}

.iti__ec {
  --iti-flag-offset: -976px;
}

.iti__ee {
  --iti-flag-offset: -992px;
}

.iti__eg {
  --iti-flag-offset: -1008px;
}

.iti__eh {
  --iti-flag-offset: -1024px;
}

.iti__er {
  --iti-flag-offset: -1040px;
}

.iti__es {
  --iti-flag-offset: -1056px;
}

.iti__et {
  --iti-flag-offset: -1072px;
}

.iti__fi {
  --iti-flag-offset: -1088px;
}

.iti__fj {
  --iti-flag-offset: -1104px;
}

.iti__fk {
  --iti-flag-offset: -1120px;
}

.iti__fm {
  --iti-flag-offset: -1136px;
}

.iti__fo {
  --iti-flag-offset: -1152px;
}

.iti__fr {
  --iti-flag-offset: -1168px;
}

.iti__ga {
  --iti-flag-offset: -1184px;
}

.iti__gb {
  --iti-flag-offset: -1200px;
}

.iti__gd {
  --iti-flag-offset: -1216px;
}

.iti__ge {
  --iti-flag-offset: -1232px;
}

.iti__gf {
  --iti-flag-offset: -1248px;
}

.iti__gg {
  --iti-flag-offset: -1264px;
}

.iti__gh {
  --iti-flag-offset: -1280px;
}

.iti__gi {
  --iti-flag-offset: -1296px;
}

.iti__gl {
  --iti-flag-offset: -1312px;
}

.iti__gm {
  --iti-flag-offset: -1328px;
}

.iti__gn {
  --iti-flag-offset: -1344px;
}

.iti__gp {
  --iti-flag-offset: -1360px;
}

.iti__gq {
  --iti-flag-offset: -1376px;
}

.iti__gr {
  --iti-flag-offset: -1392px;
}

.iti__gt {
  --iti-flag-offset: -1408px;
}

.iti__gu {
  --iti-flag-offset: -1424px;
}

.iti__gw {
  --iti-flag-offset: -1440px;
}

.iti__gy {
  --iti-flag-offset: -1456px;
}

.iti__hk {
  --iti-flag-offset: -1472px;
}

.iti__hn {
  --iti-flag-offset: -1488px;
}

.iti__hr {
  --iti-flag-offset: -1504px;
}

.iti__ht {
  --iti-flag-offset: -1520px;
}

.iti__hu {
  --iti-flag-offset: -1536px;
}

.iti__id {
  --iti-flag-offset: -1552px;
}

.iti__ie {
  --iti-flag-offset: -1568px;
}

.iti__il {
  --iti-flag-offset: -1584px;
}

.iti__im {
  --iti-flag-offset: -1600px;
}

.iti__in {
  --iti-flag-offset: -1616px;
}

.iti__io {
  --iti-flag-offset: -1632px;
}

.iti__iq {
  --iti-flag-offset: -1648px;
}

.iti__ir {
  --iti-flag-offset: -1664px;
}

.iti__is {
  --iti-flag-offset: -1680px;
}

.iti__it {
  --iti-flag-offset: -1696px;
}

.iti__je {
  --iti-flag-offset: -1712px;
}

.iti__jm {
  --iti-flag-offset: -1728px;
}

.iti__jo {
  --iti-flag-offset: -1744px;
}

.iti__jp {
  --iti-flag-offset: -1760px;
}

.iti__ke {
  --iti-flag-offset: -1776px;
}

.iti__kg {
  --iti-flag-offset: -1792px;
}

.iti__kh {
  --iti-flag-offset: -1808px;
}

.iti__ki {
  --iti-flag-offset: -1824px;
}

.iti__km {
  --iti-flag-offset: -1840px;
}

.iti__kn {
  --iti-flag-offset: -1856px;
}

.iti__kp {
  --iti-flag-offset: -1872px;
}

.iti__kr {
  --iti-flag-offset: -1888px;
}

.iti__kw {
  --iti-flag-offset: -1904px;
}

.iti__ky {
  --iti-flag-offset: -1920px;
}

.iti__kz {
  --iti-flag-offset: -1936px;
}

.iti__la {
  --iti-flag-offset: -1952px;
}

.iti__lb {
  --iti-flag-offset: -1968px;
}

.iti__lc {
  --iti-flag-offset: -1984px;
}

.iti__li {
  --iti-flag-offset: -2000px;
}

.iti__lk {
  --iti-flag-offset: -2016px;
}

.iti__lr {
  --iti-flag-offset: -2032px;
}

.iti__ls {
  --iti-flag-offset: -2048px;
}

.iti__lt {
  --iti-flag-offset: -2064px;
}

.iti__lu {
  --iti-flag-offset: -2080px;
}

.iti__lv {
  --iti-flag-offset: -2096px;
}

.iti__ly {
  --iti-flag-offset: -2112px;
}

.iti__ma {
  --iti-flag-offset: -2128px;
}

.iti__mc {
  --iti-flag-offset: -2144px;
}

.iti__md {
  --iti-flag-offset: -2160px;
}

.iti__me {
  --iti-flag-offset: -2176px;
}

.iti__mf {
  --iti-flag-offset: -2192px;
}

.iti__mg {
  --iti-flag-offset: -2208px;
}

.iti__mh {
  --iti-flag-offset: -2224px;
}

.iti__mk {
  --iti-flag-offset: -2240px;
}

.iti__ml {
  --iti-flag-offset: -2256px;
}

.iti__mm {
  --iti-flag-offset: -2272px;
}

.iti__mn {
  --iti-flag-offset: -2288px;
}

.iti__mo {
  --iti-flag-offset: -2304px;
}

.iti__mp {
  --iti-flag-offset: -2320px;
}

.iti__mq {
  --iti-flag-offset: -2336px;
}

.iti__mr {
  --iti-flag-offset: -2352px;
}

.iti__ms {
  --iti-flag-offset: -2368px;
}

.iti__mt {
  --iti-flag-offset: -2384px;
}

.iti__mu {
  --iti-flag-offset: -2400px;
}

.iti__mv {
  --iti-flag-offset: -2416px;
}

.iti__mw {
  --iti-flag-offset: -2432px;
}

.iti__mx {
  --iti-flag-offset: -2448px;
}

.iti__my {
  --iti-flag-offset: -2464px;
}

.iti__mz {
  --iti-flag-offset: -2480px;
}

.iti__na {
  --iti-flag-offset: -2496px;
}

.iti__nc {
  --iti-flag-offset: -2512px;
}

.iti__ne {
  --iti-flag-offset: -2528px;
}

.iti__nf {
  --iti-flag-offset: -2544px;
}

.iti__ng {
  --iti-flag-offset: -2560px;
}

.iti__ni {
  --iti-flag-offset: -2576px;
}

.iti__nl {
  --iti-flag-offset: -2592px;
}

.iti__no {
  --iti-flag-offset: -2608px;
}

.iti__np {
  --iti-flag-offset: -2624px;
}

.iti__nr {
  --iti-flag-offset: -2640px;
}

.iti__nu {
  --iti-flag-offset: -2656px;
}

.iti__nz {
  --iti-flag-offset: -2672px;
}

.iti__om {
  --iti-flag-offset: -2688px;
}

.iti__pa {
  --iti-flag-offset: -2704px;
}

.iti__pe {
  --iti-flag-offset: -2720px;
}

.iti__pf {
  --iti-flag-offset: -2736px;
}

.iti__pg {
  --iti-flag-offset: -2752px;
}

.iti__ph {
  --iti-flag-offset: -2768px;
}

.iti__pk {
  --iti-flag-offset: -2784px;
}

.iti__pl {
  --iti-flag-offset: -2800px;
}

.iti__pm {
  --iti-flag-offset: -2816px;
}

.iti__pr {
  --iti-flag-offset: -2832px;
}

.iti__ps {
  --iti-flag-offset: -2848px;
}

.iti__pt {
  --iti-flag-offset: -2864px;
}

.iti__pw {
  --iti-flag-offset: -2880px;
}

.iti__py {
  --iti-flag-offset: -2896px;
}

.iti__qa {
  --iti-flag-offset: -2912px;
}

.iti__re {
  --iti-flag-offset: -2928px;
}

.iti__ro {
  --iti-flag-offset: -2944px;
}

.iti__rs {
  --iti-flag-offset: -2960px;
}

.iti__ru {
  --iti-flag-offset: -2976px;
}

.iti__rw {
  --iti-flag-offset: -2992px;
}

.iti__sa {
  --iti-flag-offset: -3008px;
}

.iti__sb {
  --iti-flag-offset: -3024px;
}

.iti__sc {
  --iti-flag-offset: -3040px;
}

.iti__sd {
  --iti-flag-offset: -3056px;
}

.iti__se {
  --iti-flag-offset: -3072px;
}

.iti__sg {
  --iti-flag-offset: -3088px;
}

.iti__sh {
  --iti-flag-offset: -3104px;
}

.iti__si {
  --iti-flag-offset: -3120px;
}

.iti__sj {
  --iti-flag-offset: -3136px;
}

.iti__sk {
  --iti-flag-offset: -3152px;
}

.iti__sl {
  --iti-flag-offset: -3168px;
}

.iti__sm {
  --iti-flag-offset: -3184px;
}

.iti__sn {
  --iti-flag-offset: -3200px;
}

.iti__so {
  --iti-flag-offset: -3216px;
}

.iti__sr {
  --iti-flag-offset: -3232px;
}

.iti__ss {
  --iti-flag-offset: -3248px;
}

.iti__st {
  --iti-flag-offset: -3264px;
}

.iti__sv {
  --iti-flag-offset: -3280px;
}

.iti__sx {
  --iti-flag-offset: -3296px;
}

.iti__sy {
  --iti-flag-offset: -3312px;
}

.iti__sz {
  --iti-flag-offset: -3328px;
}

.iti__tc {
  --iti-flag-offset: -3344px;
}

.iti__td {
  --iti-flag-offset: -3360px;
}

.iti__tg {
  --iti-flag-offset: -3376px;
}

.iti__th {
  --iti-flag-offset: -3392px;
}

.iti__tj {
  --iti-flag-offset: -3408px;
}

.iti__tk {
  --iti-flag-offset: -3424px;
}

.iti__tl {
  --iti-flag-offset: -3440px;
}

.iti__tm {
  --iti-flag-offset: -3456px;
}

.iti__tn {
  --iti-flag-offset: -3472px;
}

.iti__to {
  --iti-flag-offset: -3488px;
}

.iti__tr {
  --iti-flag-offset: -3504px;
}

.iti__tt {
  --iti-flag-offset: -3520px;
}

.iti__tv {
  --iti-flag-offset: -3536px;
}

.iti__tw {
  --iti-flag-offset: -3552px;
}

.iti__tz {
  --iti-flag-offset: -3568px;
}

.iti__ua {
  --iti-flag-offset: -3584px;
}

.iti__ug {
  --iti-flag-offset: -3600px;
}

.iti__us {
  --iti-flag-offset: -3616px;
}

.iti__uy {
  --iti-flag-offset: -3632px;
}

.iti__uz {
  --iti-flag-offset: -3648px;
}

.iti__va {
  --iti-flag-offset: -3664px;
}

.iti__vc {
  --iti-flag-offset: -3680px;
}

.iti__ve {
  --iti-flag-offset: -3696px;
}

.iti__vg {
  --iti-flag-offset: -3712px;
}

.iti__vi {
  --iti-flag-offset: -3728px;
}

.iti__vn {
  --iti-flag-offset: -3744px;
}

.iti__vu {
  --iti-flag-offset: -3760px;
}

.iti__wf {
  --iti-flag-offset: -3776px;
}

.iti__ws {
  --iti-flag-offset: -3792px;
}

.iti__xk {
  --iti-flag-offset: -3808px;
}

.iti__ye {
  --iti-flag-offset: -3824px;
}

.iti__yt {
  --iti-flag-offset: -3840px;
}

.iti__za {
  --iti-flag-offset: -3856px;
}

.iti__zm {
  --iti-flag-offset: -3872px;
}

.iti__zw {
  --iti-flag-offset: -3888px;
}

.iti__globe {
  background-image: var(--iti-path-globe-1x);
  background-size: contain;
  background-position: right;
  box-shadow: none;
  height: 19px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2x) {
  .iti__flag {
    background-image: var(--iti-path-flags-2x);
  }
  .iti__globe {
    background-image: var(--iti-path-globe-2x);
  }
}
/* stylelint-enable */
/*---TEXT AND FONT---*/
/*---BACKGROUND---*/
/*---POSITIONING---*/
/*---CONTENT---*/
/*---LISTS---*/
/*---BORDER ARROWS---*/
/**Forms**/
/** DEFAULT OVERRIDES **/
@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  html {
    min-height: 100dvh;
    margin: 0;
    padding: 0;
    overflow: auto;
    -webkit-text-size-adjust: 100%;
  }
  body {
    margin: 0;
    padding: 0;
    text-rendering: optimizeSpeed;
    line-height: 1.1;
    font-size: 16px;
    position: absolute;
    width: 100%;
    height: 100dvh;
  }
  img {
    max-width: 100%;
    display: block;
    height: auto;
  }
  article > * + * {
    margin-top: 1em;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0;
  }
  p {
    margin: 0.35em 0 0.75em;
    line-height: 1.55em;
  }
  ol,
  ul {
    text-align: left;
    margin: 0.4em 0 0.75em;
  }
  li {
    line-height: 1.5em;
  }
  button {
    -webkit-appearance: none;
            appearance: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: none;
    cursor: pointer;
  }
  iframe {
    border: none;
  }
}
@layer base {
  body {
    font-family: var(--basic-font);
  }
  a {
    color: var(--link);
    background-color: var(--link-contrast);
    padding-left: 2px;
    padding-right: 2px;
    border-bottom: 1px solid var(--link);
    transition: 0.15s;
    text-decoration: none;
  }
  @media (hover: hover) and (pointer: fine) {
    a:hover {
      border-bottom-color: transparent;
    }
  }
  [data-browser=ie] a:hover {
    border-bottom-color: transparent;
  }
  .ie a:hover {
    border-bottom-color: transparent;
  }
  a.focus-visible {
    border-bottom-color: transparent;
  }
  a:focus-visible {
    border-bottom-color: transparent;
  }
  a .targetBlankNotifier {
    border: 0;
    -webkit-clip-path: rect(0 0 0 0);
            clip-path: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  a .icon-mail {
    font-size: 0.9em;
    transform: translateY(1px);
    display: inline-block;
    margin-right: 0.25em;
  }
  a .icon-external-link {
    margin-left: 0.25em;
    font-size: 0.8em;
  }
  [data-active-zone=home] {
    overscroll-behavior: contain;
  }
}
*:not(a):focus-visible, *:not(a).focus-visible {
  outline-color: var(--focus-outline-color) !important;
  outline-offset: var(--focus-outline-offset) !important;
  outline-style: var(--focus-outline-style) !important;
  outline-width: var(--focus-outline-width) !important;
  box-shadow: 0 0 0 var(--focus-outline-offset) var(--focus-shadow-color) !important;
}

.socialMediaLogins a:focus-visible,
.socialMediaLogins a.focus-visible {
  outline-color: var(--focus-outline-color) !important;
  outline-offset: var(--focus-outline-offset) !important;
  outline-style: var(--focus-outline-style) !important;
  outline-width: var(--focus-outline-width) !important;
  box-shadow: 0 0 0 var(--focus-outline-offset) var(--focus-shadow-color) !important;
}

body[data-reduce-animation=true] *,
body[data-reduce-animation=true] *::before,
body[data-reduce-animation=true] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}

.slideSkip,
.homeSkip,
.membershipSkip {
  border: 0;
  -webkit-clip-path: rect(0 0 0 0);
          clip-path: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  display: none;
}
.slideSkip.focus-visible,
.homeSkip.focus-visible,
.membershipSkip.focus-visible {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999999999999999;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px;
  -webkit-clip-path: initial;
          clip-path: initial;
  text-decoration: none;
  text-align: center;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.slideSkip:focus-visible,
.homeSkip:focus-visible,
.membershipSkip:focus-visible {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999999999999999;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px;
  -webkit-clip-path: initial;
          clip-path: initial;
  text-decoration: none;
  text-align: center;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}

[data-active-zone=home] .homeSkip {
  display: block;
}

[data-active-zone=slides] .slideSkip {
  display: block;
}

.membershipSkip {
  display: block;
}

@font-face {
  font-family: "grid";
  src: url("/fonts/grid.woff2?rgcn64") format("woff2"), url("/fonts/grid.ttf?rgcn64") format("truetype"), url("/fonts/grid.woff?rgcn64") format("woff"), url("/fonts/grid.svg?rgcn64#grid") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "grid" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-slideGroupIt:before {
  content: "\e907";
}

.icon-slideCategories:before {
  content: "\e906";
}

.icon-quickview:before {
  content: "j";
}

.icon-arrow-previous:before {
  content: "l";
}

.icon-arrow-next:before {
  content: "m";
}

.icon-slideChecklist:before {
  content: "8";
}

.icon-checklist:before {
  content: "8";
}

.icon-arrow-swap:before {
  content: "\e903";
}

.icon-slideForm:before {
  content: "-";
}

.icon-mail:before {
  content: "\e900";
}

.icon-errorPage:before {
  content: "u";
}

.icon-certificate:before {
  content: "r";
}

.icon-slideview:before {
  content: "i";
}

.icon-resize:before {
  content: "i";
}

.icon-expand:before {
  content: "#";
}

.icon-slideInterestBoard:before {
  content: "\e902";
}

.icon-slideVideoGrid:before {
  content: "?";
}

.icon-slideRevealVideo:before {
  content: "/";
}

.icon-print:before {
  content: "P";
}

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

.icon-minus:before {
  content: "*";
}

.icon-plus:before {
  content: "^";
}

.icon-arrow-down:before {
  content: "w";
}

.icon-slideWordSearch:before {
  content: "5";
}

.icon-slideCopy:before {
  content: "`";
}

.icon-slideMemoryGame:before {
  content: "4";
}

.icon-slideQuiz:before {
  content: "2";
}

.icon-slideVideo:before {
  content: "1";
}

.icon-x:before {
  content: "b";
}

.icon-slideSurvey:before {
  content: "6";
}

.icon-external-link:before {
  content: "n";
}

.icon-check:before {
  content: "a";
}

.icon-home:before {
  content: "g";
}

.icon-menu:before {
  content: "o";
}

.icon-optional:before {
  content: ",";
}

.icon-calendar:before {
  content: "T";
}

.icon-graduation-cap:before {
  content: "z";
}

.icon-comment:before {
  content: "s";
}

.icon-search:before {
  content: "f";
}

.icon-clock:before {
  content: "y";
}

.icon-play:before {
  content: "$";
}

.icon-pause:before {
  content: "%";
}

.icon-account:before {
  content: "k";
}

.icon-slideSelfDirected:before {
  content: "9";
}

.icon-achievement:before {
  content: "q";
}

.icon-faq:before {
  content: "x";
}

.icon-glossary:before {
  content: "v";
}

.icon-link:before {
  content: "d";
}

.icon-lock:before {
  content: "c";
}

.icon-learn-more:before {
  content: "h";
}

.icon-slideItemsOfInterest:before {
  content: "h";
}

.icon-announce:before {
  content: "e";
}

.icon-maintenance:before {
  content: "~";
}

.icon-slideThisOrThatQuiz:before {
  content: "0";
}

.icon-logout:before {
  content: "!";
}

.icon-media:before {
  content: "p";
}

.icon-accessibility:before {
  content: "@";
}

.icon-save:before {
  content: "S";
}

.icon-slideReveal:before {
  content: "3";
}

.icon-slideMasterTest:before {
  content: "7";
}

.icon-mandatory:before {
  content: "\e905";
}

.icon-slideCalculator:before {
  content: "\e904";
}

@layer base {
  .fieldWrapper,
  .umbraco-forms-field.shortanswer,
  .umbraco-forms-field.date,
  .umbraco-forms-field.password {
    position: relative;
    max-width: 500px;
  }
  .fieldWrapper label:not(.checkboxLabel),
  .umbraco-forms-field.shortanswer label:not(.checkboxLabel),
  .umbraco-forms-field.date label:not(.checkboxLabel),
  .umbraco-forms-field.password label:not(.checkboxLabel) {
    line-height: 1;
    white-space: normal;
  }
  .fieldWrapper input:not([type=checkbox]):not([type=radio]),
  .umbraco-forms-field.shortanswer input:not([type=checkbox]):not([type=radio]),
  .umbraco-forms-field.date input:not([type=checkbox]):not([type=radio]),
  .umbraco-forms-field.password input:not([type=checkbox]):not([type=radio]) {
    -webkit-appearance: none;
            appearance: none;
    position: relative;
    white-space: normal;
    line-height: 1;
    min-width: 100%;
  }
  .fieldWrapper input::-ms-reveal,
  .fieldWrapper input::-ms-clear,
  .umbraco-forms-field.shortanswer input::-ms-reveal,
  .umbraco-forms-field.shortanswer input::-ms-clear,
  .umbraco-forms-field.date input::-ms-reveal,
  .umbraco-forms-field.date input::-ms-clear,
  .umbraco-forms-field.password input::-ms-reveal,
  .umbraco-forms-field.password input::-ms-clear {
    display: none;
  }
  .fieldWrapper .description,
  .umbraco-forms-field.shortanswer .description,
  .umbraco-forms-field.date .description,
  .umbraco-forms-field.password .description {
    margin-top: 6px;
    font-size: 0.84em;
    color: color-mix(in srgb, var(--basic) calc(0.85 * 100%), transparent);
  }
  .fieldWrapper textarea,
  .umbraco-forms-field.longanswer textarea {
    -webkit-appearance: none;
            appearance: none;
    position: relative;
    white-space: normal;
    line-height: 1;
    min-width: 100%;
  }
  .dropdownWrapper,
  .umbraco-forms-field.dropdown {
    position: relative;
    max-width: 500px;
  }
  .dropdownWrapper select,
  .umbraco-forms-field.dropdown select {
    -webkit-appearance: none;
            appearance: none;
    position: relative;
    white-space: normal;
    line-height: 1;
    min-width: 100%;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: 25px 50px;
  }
  .dropdownWrapper select::-ms-expand,
  .umbraco-forms-field.dropdown select::-ms-expand {
    display: none;
  }
  .controlWrapper,
  .adg-umbraco-forms-controlwrapper {
    border-bottom: 2px solid var(--light-grey);
    margin-bottom: 15px;
    padding-bottom: 10px;
  }
  .controlWrapper:last-child,
  .adg-umbraco-forms-controlwrapper:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .controlWrapper .control,
  .adg-umbraco-forms-controlwrapper .control {
    display: flex;
    align-items: center;
  }
  .controlWrapper label,
  .adg-umbraco-forms-controlwrapper label {
    font-size: 1.2em;
    white-space: nowrap;
    cursor: pointer;
  }
  .controlWrapper .description,
  .adg-umbraco-forms-controlwrapper .description {
    margin-top: 6px;
    font-size: 0.84em;
    color: color-mix(in srgb, var(--basic) calc(0.85 * 100%), transparent);
  }
  .fieldWrapper.enrolleeName {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    z-index: -1;
  }
  .styledFieldset,
  .umbraco-forms-fieldset {
    position: relative;
    border: 2px solid var(--light-grey);
    padding: 20px;
    background-color: color-mix(in srgb, var(--light-grey) calc(0.4 * 100%), transparent);
    border-radius: var(--radius);
    min-width: 0;
    width: 100%;
  }
  .styledFieldset legend,
  .styledFieldset .groupLegend,
  .umbraco-forms-fieldset legend,
  .umbraco-forms-fieldset .groupLegend {
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    background-color: var(--basic);
    color: var(--basic-contrast);
  }
  .styledFieldset .groupLegend,
  .umbraco-forms-fieldset .groupLegend {
    position: relative;
    display: inline-block;
    margin: 0 auto 10px;
  }
  .styledFieldset .fieldsetGrid,
  .umbraco-forms-fieldset .fieldsetGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .styledFieldset .fieldsetGrid .fieldWrapper,
  .styledFieldset .fieldsetGrid .controlWrapper,
  .umbraco-forms-fieldset .fieldsetGrid .fieldWrapper,
  .umbraco-forms-fieldset .fieldsetGrid .controlWrapper {
    margin: 0;
  }
  .fieldWrapper,
  .umbraco-forms-field.shortanswer,
  .umbraco-forms-field.date,
  .umbraco-forms-field.password {
    margin: 10px auto;
  }
  .fieldWrapper label:not(.checkboxLabel),
  .umbraco-forms-field.shortanswer label:not(.checkboxLabel),
  .umbraco-forms-field.date label:not(.checkboxLabel),
  .umbraco-forms-field.password label:not(.checkboxLabel) {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    display: block;
    margin: 0 0 5px;
    border: 0;
    padding: 0;
    font-size: 0.8em;
    font-family: var(--primary-font);
    color: var(--basic);
  }
  .fieldWrapper input:not([type=checkbox]):not([type=radio]):not(.iti__search-input),
  .fieldWrapper textarea,
  .umbraco-forms-field.shortanswer input:not([type=checkbox]):not([type=radio]):not(.iti__search-input),
  .umbraco-forms-field.shortanswer textarea,
  .umbraco-forms-field.date input:not([type=checkbox]):not([type=radio]):not(.iti__search-input),
  .umbraco-forms-field.date textarea,
  .umbraco-forms-field.password input:not([type=checkbox]):not([type=radio]):not(.iti__search-input),
  .umbraco-forms-field.password textarea {
    position: relative;
    display: block;
    width: 100%;
    min-height: 48px;
    margin: 0;
    border: 2px solid var(--grey);
    padding: 23px 8px 6px;
    border-radius: var(--radius-sm);
    background-color: var(--light);
    text-align: left;
  }
  .fieldWrapper .showHide,
  .umbraco-forms-field.shortanswer .showHide,
  .umbraco-forms-field.date .showHide,
  .umbraco-forms-field.password .showHide {
    position: absolute;
    top: 0;
    right: 0;
    height: 53px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    transform: scale(0.8);
    border-radius: var(--radius-sm);
    border: none;
    padding: 0;
    cursor: pointer;
    background-color: var(--brand-dark);
    color: var(--brand-dark-contrast);
  }
  @media (hover: hover) and (pointer: fine) {
    .fieldWrapper .showHide:hover,
    .umbraco-forms-field.shortanswer .showHide:hover,
    .umbraco-forms-field.date .showHide:hover,
    .umbraco-forms-field.password .showHide:hover {
      background-color: var(--brand-bright);
      color: var(--brand-bright-contrast);
    }
    .fieldWrapper .showHide:hover .icon:after,
    .umbraco-forms-field.shortanswer .showHide:hover .icon:after,
    .umbraco-forms-field.date .showHide:hover .icon:after,
    .umbraco-forms-field.password .showHide:hover .icon:after {
      background: var(--brand-bright-contrast);
    }
  }
  [data-browser=ie] .fieldWrapper .showHide:hover,
  [data-browser=ie] .umbraco-forms-field.shortanswer .showHide:hover,
  [data-browser=ie] .umbraco-forms-field.date .showHide:hover,
  [data-browser=ie] .umbraco-forms-field.password .showHide:hover {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  [data-browser=ie] .fieldWrapper .showHide:hover .icon:after,
  [data-browser=ie] .umbraco-forms-field.shortanswer .showHide:hover .icon:after,
  [data-browser=ie] .umbraco-forms-field.date .showHide:hover .icon:after,
  [data-browser=ie] .umbraco-forms-field.password .showHide:hover .icon:after {
    background: var(--brand-bright-contrast);
  }
  .ie .fieldWrapper .showHide:hover,
  .ie .umbraco-forms-field.shortanswer .showHide:hover,
  .ie .umbraco-forms-field.date .showHide:hover,
  .ie .umbraco-forms-field.password .showHide:hover {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .ie .fieldWrapper .showHide:hover .icon:after,
  .ie .umbraco-forms-field.shortanswer .showHide:hover .icon:after,
  .ie .umbraco-forms-field.date .showHide:hover .icon:after,
  .ie .umbraco-forms-field.password .showHide:hover .icon:after {
    background: var(--brand-bright-contrast);
  }
  .fieldWrapper .showHide.focus-visible,
  .umbraco-forms-field.shortanswer .showHide.focus-visible,
  .umbraco-forms-field.date .showHide.focus-visible,
  .umbraco-forms-field.password .showHide.focus-visible {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .fieldWrapper .showHide.focus-visible .icon:after,
  .umbraco-forms-field.shortanswer .showHide.focus-visible .icon:after,
  .umbraco-forms-field.date .showHide.focus-visible .icon:after,
  .umbraco-forms-field.password .showHide.focus-visible .icon:after {
    background: var(--brand-bright-contrast);
  }
  .fieldWrapper .showHide:focus-visible,
  .umbraco-forms-field.shortanswer .showHide:focus-visible,
  .umbraco-forms-field.date .showHide:focus-visible,
  .umbraco-forms-field.password .showHide:focus-visible {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .fieldWrapper .showHide:focus-visible .icon:after,
  .umbraco-forms-field.shortanswer .showHide:focus-visible .icon:after,
  .umbraco-forms-field.date .showHide:focus-visible .icon:after,
  .umbraco-forms-field.password .showHide:focus-visible .icon:after {
    background: var(--brand-bright-contrast);
  }
  .fieldWrapper .showHide[aria-checked=true] .icon:after,
  .umbraco-forms-field.shortanswer .showHide[aria-checked=true] .icon:after,
  .umbraco-forms-field.date .showHide[aria-checked=true] .icon:after,
  .umbraco-forms-field.password .showHide[aria-checked=true] .icon:after {
    content: "";
    width: 3px;
    height: 20px;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: skewX(-45deg);
    background: var(--brand-dark-contrast);
  }
  .fieldWrapper .showHide .icon,
  .umbraco-forms-field.shortanswer .showHide .icon,
  .umbraco-forms-field.date .showHide .icon,
  .umbraco-forms-field.password .showHide .icon {
    font-size: 1.2em;
  }
  .fieldWrapper #Password:focus + #requirements,
  .umbraco-forms-field.shortanswer #Password:focus + #requirements,
  .umbraco-forms-field.date #Password:focus + #requirements,
  .umbraco-forms-field.password #Password:focus + #requirements {
    max-height: 1000px;
  }
  .fieldWrapper #requirements,
  .umbraco-forms-field.shortanswer #requirements,
  .umbraco-forms-field.date #requirements,
  .umbraco-forms-field.password #requirements {
    list-style: none;
    padding: 10px 0 0 0;
    margin: 0;
    border-radius: var(--radius);
    overflow: hidden;
    max-height: 0;
    transition: max-height 800ms ease-in-out;
  }
  .fieldWrapper #requirements li,
  .umbraco-forms-field.shortanswer #requirements li,
  .umbraco-forms-field.date #requirements li,
  .umbraco-forms-field.password #requirements li {
    display: flex;
    align-items: center;
    font-size: 0.9em;
  }
  .fieldWrapper #requirements li.valid .icon,
  .umbraco-forms-field.shortanswer #requirements li.valid .icon,
  .umbraco-forms-field.date #requirements li.valid .icon,
  .umbraco-forms-field.password #requirements li.valid .icon {
    background-color: var(--correct);
    color: var(--correct-contrast);
    font-size: 0.88em;
    padding-top: 0.1em;
    padding-bottom: 0;
  }
  .fieldWrapper #requirements li .icon,
  .umbraco-forms-field.shortanswer #requirements li .icon,
  .umbraco-forms-field.date #requirements li .icon,
  .umbraco-forms-field.password #requirements li .icon {
    background-color: var(--wrong);
    color: var(--wrong-contrast);
    border-radius: 50%;
    margin-right: 5px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 0.95em;
    padding-bottom: 0.1em;
  }
  .dropdownWrapper label:not(.checkboxLabel),
  .umbraco-forms-field.dropdown label:not(.checkboxLabel) {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    display: block;
    margin: 0 0 5px;
    border: 0;
    padding: 0;
    font-size: 0.8em;
    font-family: var(--primary-font);
    color: var(--basic);
  }
  .dropdownWrapper select,
  .umbraco-forms-field.dropdown select {
    position: relative;
    display: block;
    width: 100%;
    min-height: 52px;
    margin: 0;
    border: 2px solid var(--grey);
    padding: 26px 45px 8px 8px;
    border-radius: var(--radius-sm);
    background-color: var(--light);
    text-align: left;
  }
  .umbraco-forms-field.longanswer textarea {
    position: relative;
    display: block;
    width: 100%;
    min-height: 56px;
    margin: 0;
    border: 2px solid var(--grey);
    padding: 6px 8px 6px;
    border-radius: var(--radius-sm);
    background-color: var(--light);
    text-align: left;
  }
  form .error,
  .formWrap .error {
    display: block;
    margin: 4px 0;
    padding: 2px 4px;
    text-align: center;
    background-color: var(--wrong);
    color: var(--wrong-contrast);
  }
  form .error:empty,
  .formWrap .error:empty {
    display: none;
  }
  @media (max-width: 650px) {
    .styledFieldset,
    .umbraco-forms-fieldset {
      padding: 10px;
    }
    .styledFieldset .fieldsetGrid,
    .umbraco-forms-fieldset .fieldsetGrid {
      grid-template-columns: none;
    }
  }
  @media (max-width: 520px) {
    .controlWrapper label {
      font-size: 1em;
      font-weight: 700;
      white-space: normal;
    }
  }
  @media (max-width: 450px) {
    .controlWrapper label {
      font-size: 0.9em;
    }
  }
}
.fieldWrapper .description > *:first-child,
.umbraco-forms-field.shortanswer .description > *:first-child,
.umbraco-forms-field.date .description > *:first-child,
.umbraco-forms-field.password .description > *:first-child {
  margin-top: 0 !important;
}
.fieldWrapper .description > *:last-child,
.umbraco-forms-field.shortanswer .description > *:last-child,
.umbraco-forms-field.date .description > *:last-child,
.umbraco-forms-field.password .description > *:last-child {
  margin-bottom: 0 !important;
}

.controlWrapper > *:first-child,
.adg-umbraco-forms-controlwrapper > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper > *:last-child,
.adg-umbraco-forms-controlwrapper > *:last-child {
  margin-bottom: 0 !important;
}
.controlWrapper .description > *:first-child,
.adg-umbraco-forms-controlwrapper .description > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper .description > *:last-child,
.adg-umbraco-forms-controlwrapper .description > *:last-child {
  margin-bottom: 0 !important;
}

.styledFieldset > :last-child,
.umbraco-forms-fieldset > :last-child {
  margin-bottom: 0 !important;
}

#requirements li.valid .icon:before {
  content: "a";
}

willis-zone {
  display: block;
}

[inert] {
  overflow: hidden;
  pointer-events: none;
}

willis-dialog:not([data-open=true]) {
  display: none !important;
}

html[data-dialog-hide-overflow=true] {
  overflow: hidden !important;
}

@layer base {
  .dialogBackdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: calc(100vw - var(--scrollbar-width));
    height: 100dvh;
  }
  @supports (height: 100dvh) {
    .dialogBackdrop {
      height: 100dvh;
    }
  }
  .slide .dialogBackdrop {
    height: 100%;
  }
  .dialogInner {
    position: relative;
  }
  div[role=dialog] {
    position: relative;
    animation-fill-mode: both;
  }
  [data-dialog-style=modal] {
    display: flex;
    align-items: center;
    overflow-y: auto;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 580px;
    margin: auto;
  }
  [data-dialog-style=modal] .dialogInner {
    overflow: hidden;
    border-radius: var(--radius);
  }
  [data-dialog-style=largeModal] {
    display: flex;
    align-items: center;
    overflow-y: auto;
  }
  [data-dialog-style=largeModal] div[role=dialog] {
    width: 800px;
    max-width: 100vw;
    margin: auto;
  }
  [data-dialog-style=largeModal] .dialogInner {
    overflow: hidden;
    border-radius: var(--radius-lg);
  }
  [data-dialog-style=shade] {
    overflow-y: auto;
  }
  [data-dialog-style=shade] div[role=dialog] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
  }
  [data-dialog-style=shade] div[role=dialog] .dialogLabel {
    max-width: 800px;
  }
  [data-dialog-style=shade] div[role=dialog] .dialogContent {
    max-width: 800px;
  }
  [data-dialog-style=shade] div[role=dialog] .dialogActions {
    max-width: 800px;
  }
  [data-dialog-style=shade] .dialogInner {
    border-radius: 0 0 var(--radius) var(--radius);
  }
  [data-dialog-style^=sidebar] {
    display: flex;
    align-items: stretch;
    overflow-y: scroll;
    overflow-x: hidden;
  }
  [data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] {
    justify-content: flex-start;
  }
  [data-dialog-style^=sidebar][data-dialog-style=sidebarRight] {
    justify-content: flex-end;
  }
  [data-dialog-style^=sidebar] div[role=dialog] {
    width: 440px;
  }
  [data-dialog-style^=full] {
    display: flex;
    align-items: stretch;
    overflow: hidden;
  }
  [data-dialog-style^=full] div[role=dialog] {
    overflow-y: scroll;
    width: 100%;
    height: 100%;
  }
  @media (max-width: 600px) {
    [data-dialog-style^=sidebar] div[role=dialog] {
      width: 100%;
      min-width: 0;
    }
    [data-dialog-style=modal] div[role=dialog] {
      width: 100%;
    }
  }
}
div[data-dialog-animation-speed=glacial] {
  animation-duration: 3000ms;
}

div[data-dialog-animation-speed=verySlow] {
  animation-duration: 1000ms;
}

div[data-dialog-animation-speed=slow] {
  animation-duration: 800ms;
}

div[data-dialog-animation-speed=medium] {
  animation-duration: 500ms;
}

div[data-dialog-animation-speed=fast] {
  animation-duration: 300ms;
}

div[data-dialog-animation-speed=veryFast] {
  animation-duration: 200ms;
}

.dialogBackdrop {
  animation-fill-mode: both;
  animation-duration: 200ms;
}
.dialogBackdrop.in {
  animation-name: fadeIn;
}
.dialogBackdrop.out {
  animation-name: fadeOut;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
div[data-dialog-animation-name=fadeIn] {
  animation-name: fadeIn;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
div[data-dialog-animation-name=fadeOut] {
  animation-name: fadeOut;
}

@keyframes fadeTopIn {
  from {
    opacity: 0;
    transform: translateY(-50%);
  }
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeTopIn] {
  animation-name: fadeTopIn;
}

@keyframes fadeTopOut {
  from {
    opacity: 1;
    transform: translateY(0%);
  }
  to {
    opacity: 0;
    transform: translateY(-50%);
  }
}
div[data-dialog-animation-name=fadeTopOut] {
  animation-name: fadeTopOut;
}

@keyframes fadeBottomIn {
  from {
    opacity: 0;
    transform: translateY(50%);
  }
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeBottomIn] {
  animation-name: fadeBottomIn;
}

@keyframes fadeBottomOut {
  from {
    opacity: 1;
    transform: translateY(0%);
  }
  to {
    opacity: 0;
    transform: translateY(50%);
  }
}
div[data-dialog-animation-name=fadeBottomOut] {
  animation-name: fadeBottomOut;
}

@keyframes fadeRightIn {
  from {
    opacity: 0;
    transform: translateX(50%);
  }
  to {
    opacity: 1;
    transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeRightIn] {
  animation-name: fadeRightIn;
}

@keyframes fadeRightOut {
  from {
    opacity: 1;
    transform: translateX(0%);
  }
  to {
    opacity: 0;
    transform: translateX(50%);
  }
}
div[data-dialog-animation-name=fadeRightOut] {
  animation-name: fadeRightOut;
}

@keyframes fadeLeftIn {
  from {
    opacity: 0;
    transform: translateX(-50%);
  }
  to {
    opacity: 1;
    transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeLeftIn] {
  animation-name: fadeLeftIn;
}

@keyframes fadeLeftOut {
  from {
    opacity: 1;
    transform: translateX(0%);
  }
  to {
    opacity: 0;
    transform: translateX(-50%);
  }
}
div[data-dialog-animation-name=fadeLeftOut] {
  animation-name: fadeLeftOut;
}

@keyframes slideTopIn {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideTopIn] {
  animation-name: slideTopIn;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideTopIn] {
    animation-name: slideBottomIn;
  }
}

@keyframes slideTopOut {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-100%);
  }
}
div[data-dialog-animation-name=slideTopOut] {
  animation-name: slideTopOut;
}

@keyframes slideBottomIn {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideBottomIn] {
  animation-name: slideBottomIn;
}

@keyframes slideBottomOut {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(150%);
  }
}
div[data-dialog-animation-name=slideBottomOut] {
  animation-name: slideBottomOut;
}

@keyframes slideRightIn {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideRightIn] {
  animation-name: slideRightIn;
}

@keyframes slideRightOut {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(100%);
  }
}
div[data-dialog-animation-name=slideRightOut] {
  animation-name: slideRightOut;
}

@keyframes slideLeftIn {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideLeftIn] {
  animation-name: slideLeftIn;
}

@keyframes slideLeftOut {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
div[data-dialog-animation-name=slideLeftOut] {
  animation-name: slideLeftOut;
}

.dialogBackdrop {
  background: color-mix(in srgb, var(--light-grey) calc(0.7 * 100%), transparent);
}

.dialogContent {
  margin: 10px 0;
}

.dialogActions.generated button.closeDialog .icon:before {
  font-family: var(--icon-font);
  content: "b";
}

button.closeDialog .icon:before {
  font-family: var(--icon-font);
  content: "b";
}

.dialogLabel h2 {
  margin-bottom: 15px;
}

[data-dialog-style=modal] {
  padding: 20px;
}
.safari [data-dialog-style=modal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=modal] .dialogInner {
  border-radius: var(--radius);
  padding: 20px;
  text-align: center;
  background-color: var(--light);
  color: var(--light-contrast);
  box-shadow: var(--shadow);
}
[data-dialog-style=modal] button.closeDialog {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--light);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
@media (hover: hover) and (pointer: fine) {
  [data-dialog-style=modal] button.closeDialog:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] [data-dialog-style=modal] button.closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie [data-dialog-style=modal] button.closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog[disabled], [data-dialog-style=modal] button.closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}

.safari [data-dialog-style=largeModal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=largeModal] .dialogInner {
  border-radius: var(--radius);
  padding: 20px;
  background-color: var(--light);
  color: var(--light-contrast);
}
[data-dialog-style=largeModal] .dialogLabel {
  text-align: center;
  margin-bottom: 25px;
  border-bottom: 1px solid var(--brand-dark);
  padding: 5px 10px 20px;
  text-transform: uppercase;
}
[data-dialog-style=largeModal] .dialogLabel h2 {
  margin: 0;
  padding: 0;
  font-size: 1.25em;
  color: var(--brand-dark);
}

[data-dialog-style=shade] .dialogInner {
  border-radius: 0 0 var(--radius) var(--radius);
  padding: 20px;
}
[data-dialog-style=shade] div[role=dialog] {
  text-align: center;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  padding: 30px 0;
}

[data-dialog-style^=sidebar] .dialogInner {
  min-height: 100%;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] .dialogInner {
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 20px;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
  border-radius: var(--radius) 0 0 var(--radius);
  padding: 20px;
}

[data-dialog-style^=full] .dialogInner {
  padding: 20px;
}

@media (max-width: 800px) {
  [data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
    border-radius: 0;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 100%;
  }
}
@media (max-width: 650px) {
  [data-dialog-style=modal] div[role=dialog].reportNeeded {
    width: 100%;
  }
}
@media (max-width: 520px) {
  .safari [data-dialog-style=modal][data-backdrop-for=accessibilityPrefs] {
    padding: 20px 20px 150px;
  }
}
@keyframes zoomIn {
  from {
    transform: scale(1.2);
  }
  to {
    transform: scale(1.3);
  }
}
@keyframes zoomOut {
  from {
    transform: scale(1.2);
  }
  to {
    transform: scale(1.1);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@layer base {
  #background [data-slideshow=zoomSlideshow].returnPause .bgImgWrapper:first-child {
    opacity: 1;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper {
    opacity: 0;
    animation-duration: 0.85s;
    animation-timing-function: linear;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper.current {
    animation-fill-mode: forwards;
    animation-name: fadeIn;
    z-index: 1;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper.prev {
    animation-name: fadeOut;
    animation-fill-mode: forwards;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper:nth-child(odd) .bgImg.trans {
    animation-name: zoomIn;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper:nth-child(even) .bgImg.trans {
    animation-name: zoomOut;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg {
    transform: scale(1.2);
    z-index: 1;
    animation-timing-function: linear;
    animation-duration: 10s;
    animation-fill-mode: forwards;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos=center] {
    background-position: 50% 50%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="center left"] {
    background-position: 10% 50%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="center right"] {
    background-position: 90% 50%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="top left"] {
    background-position: 10% 10%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="top middle"] {
    background-position: 50% 10%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="top right"] {
    background-position: 90% 10%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="bottom left"] {
    background-position: 10% 90%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="bottom middle"] {
    background-position: 50% 100%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="bottom left"] {
    background-position: 90% 90%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation=center] {
    transform-origin: center center;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation="top right"] {
    transform-origin: top right;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation="top left"] {
    transform-origin: top left;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation="bottom right"] {
    transform-origin: bottom right;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation="bottom left"] {
    transform-origin: bottom left;
  }
  #background [data-slideshow=zoomSlideshow].paused .bgImgWrapper.trans {
    animation-play-state: paused;
  }
  #background [data-slideshow=zoomSlideshow].paused .bgImg.trans {
    animation-play-state: paused;
  }
  #background .bgImg,
  #background .sectionBg {
    background-size: cover;
  }
  #background .bgImg[data-bg-pos="top left"],
  #background .sectionBg[data-bg-pos="top left"] {
    background-position: 0% 0%;
  }
  #background .bgImg[data-bg-pos="top middle"],
  #background .sectionBg[data-bg-pos="top middle"] {
    background-position: 50% 0;
  }
  #background .bgImg[data-bg-pos="top right"],
  #background .sectionBg[data-bg-pos="top right"] {
    background-position: 100% 0%;
  }
  #background .bgImg[data-bg-pos="center left"],
  #background .sectionBg[data-bg-pos="center left"] {
    background-position: 0% 50%;
  }
  #background .bgImg[data-bg-pos=center],
  #background .sectionBg[data-bg-pos=center] {
    background-position: 50% 50%;
  }
  #background .bgImg[data-bg-pos="center right"],
  #background .sectionBg[data-bg-pos="center right"] {
    background-position: 100% 50%;
  }
  #background .bgImg[data-bg-pos="bottom left"],
  #background .sectionBg[data-bg-pos="bottom left"] {
    background-position: 0% 100%;
  }
  #background .bgImg[data-bg-pos="bottom middle"],
  #background .sectionBg[data-bg-pos="bottom middle"] {
    background-position: 50% 100%;
  }
  #background .bgImg[data-bg-pos="bottom right"],
  #background .sectionBg[data-bg-pos="bottom right"] {
    background-position: 100% 100%;
  }
  #background video {
    object-fit: cover;
    background-color: var(--light-grey);
  }
}
[data-is-loading=true] #background {
  opacity: 0;
}

[data-active-dialog=checklist] #backgroundPlayBtn, [data-active-dialog=faq] #backgroundPlayBtn, [data-active-dialog=glossary] #backgroundPlayBtn, [data-active-dialog=achievements] #backgroundPlayBtn, [data-active-dialog=resources] #backgroundPlayBtn, [data-active-dialog=faqConfirmQuestionMessage] #backgroundPlayBtn, [data-active-dialog=faqQuestionSubmittedMessage] #backgroundPlayBtn {
  display: none;
}
[data-active-dialog=utilityMenu] #backgroundPlayBtn {
  display: none;
}
[data-active-zone=slides] #backgroundPlayBtn {
  display: none;
}
[data-is-loading=true] #backgroundPlayBtn {
  opacity: 0 !important;
}
#backgroundPlayBtn .icon-play {
  display: none;
}
#backgroundPlayBtn.pause .icon-play {
  display: block;
}
#backgroundPlayBtn.pause .icon-pause {
  display: none;
}

#background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
#background:before {
  content: "";
  position: absolute;
  z-index: 5;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: color-mix(in srgb, var(--light) calc(0.5 * 100%), transparent);
  pointer-events: none;
  opacity: 0;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  transition: opacity 500ms;
}
[data-showcase-background=true] #background {
  width: 100%;
}
[data-showcase-background=true] #background:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  height: 100%;
  width: 60%;
  background: linear-gradient(90deg, color-mix(in srgb, var(--light) calc(0 * 100%), transparent), color-mix(in srgb, var(--light-grey) calc(1 * 100%), transparent) 15%);
  transition: opacity 500ms;
}
[data-showcase-background=true] #background > * {
  width: 50%;
  transition: all 500ms;
}
#background .cover-slider,
#background video,
#background .mainBgImg {
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#background .sectionBgHolder {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.menuOut #background .sectionBgHolder {
  z-index: 3;
}
#background .sectionBgHolder[data-section-bg-only=true] {
  opacity: 0;
  transition: opacity 0.5s;
}
.inSection #background .sectionBgHolder[data-section-bg-only=true] {
  opacity: 1;
}
#background .bgImg,
#background .sectionBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
[data-active-zone=slides] #background > * {
  width: 100% !important;
}
[data-active-zone=slides] #background:after {
  opacity: 0 !important;
}
[data-active-zone=slides] #background:before {
  opacity: 1;
}

#backgroundPlayBtn {
  position: fixed;
  bottom: 10px;
  left: 10px;
  z-index: 150;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  aspect-ratio: 1/1;
  padding: 0;
  border: 2px solid var(--light);
  border-radius: 50%;
  box-shadow: var(--shadow);
  cursor: pointer;
  transition: all 200ms;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
#backgroundPlayBtn .text {
  left: calc(100% + 2px);
  top: 50%;
  position: absolute;
  scale: 0.1;
  border: 2px solid var(--light);
  padding: 2px 7px;
  white-space: nowrap;
  opacity: 0;
  font-family: var(--basic-font);
  box-shadow: var(--shadow);
  border-radius: var(--radius-xs);
  background-color: var(--light);
  color: var(--light-contrast);
  transition: all 500ms var(--timing-bounce);
  transform-origin: 0% 50%;
  translate: 0 -50%;
  pointer-events: none;
}
#backgroundPlayBtn .text:before {
  content: "";
  position: absolute;
  transition: all 500ms var(--timing-bounce);
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  background-color: var(--light);
  top: 50%;
  right: 100%;
  height: 14px;
  -webkit-clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
#backgroundPlayBtn .text:after {
  content: "";
  position: absolute;
  transition: all 500ms var(--timing-bounce);
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  background-color: var(--light);
  top: 50%;
  right: calc(100% - 2px);
  -webkit-clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
@media (hover: hover) and (pointer: fine) {
  #backgroundPlayBtn:hover {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  #backgroundPlayBtn:hover .text {
    opacity: 1;
    scale: 1;
  }
}
[data-browser=ie] #backgroundPlayBtn:hover {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
[data-browser=ie] #backgroundPlayBtn:hover .text {
  opacity: 1;
  scale: 1;
}
.ie #backgroundPlayBtn:hover {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.ie #backgroundPlayBtn:hover .text {
  opacity: 1;
  scale: 1;
}
#backgroundPlayBtn.focus-visible {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
#backgroundPlayBtn.focus-visible .text {
  opacity: 1;
  scale: 1;
}
#backgroundPlayBtn:focus-visible {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
#backgroundPlayBtn:focus-visible .text {
  opacity: 1;
  scale: 1;
}

@media (max-width: 900px) {
  #background {
    background: var(--light-grey);
  }
  [data-showcase-background=true] #background:after {
    display: none;
    top: max(150px, 30vh);
    height: max(100% - 150px, 100% - 30vh);
    width: 100%;
    background: linear-gradient(to bottom, color-mix(in srgb, var(--light) calc(0 * 100%), transparent), color-mix(in srgb, var(--light-grey) calc(1 * 100%), transparent) 15%);
  }
  [data-showcase-background=true] #background .bgImg,
  [data-showcase-background=true] #background .sectionBg,
  [data-showcase-background=true] #background video,
  [data-showcase-background=true] #background .mainBgImg,
  [data-showcase-background=true] #background .sectionBgHolder {
    top: 0;
    height: max(320px, 60vh);
  }
  [data-showcase-background=true] #background > * {
    width: 100%;
  }
  #backgroundPlayBtn {
    position: absolute;
    bottom: auto;
    top: 130px;
  }
}
@media (max-width: 650px) {
  #backgroundPlayBtn {
    top: 120px;
    width: 36px;
  }
}
@media (max-width: 520px) {
  #backgroundPlayBtn {
    top: 92px;
    left: 10px;
  }
}
@media (max-width: 450px) {
  #backgroundPlayBtn {
    top: 88px;
    left: 8px;
    width: 34px;
  }
}
.buffer {
  overflow: auto;
  min-height: calc(100vh - 40px);
}

footer {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 40px;
  padding: 0 15px;
  background: #000;
  z-index: 9999;
}
footer .adgLogoWrap a {
  display: block;
  background: #000 !important;
  border: 0 !important;
}
footer .adgLogoWrap .adgLogo {
  height: 30px;
  width: auto;
}

.socialMedia .socialMediaTitle {
  margin-bottom: 15px;
  font-weight: 400;
}
.socialMedia .socialMediaLogins {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 12px;
}
.socialMedia .socialMediaLogins .facebookLogin {
  background: rgb(8, 102, 255) !important;
  color: white !important;
}
.socialMedia .socialMediaLogins .googleLogin {
  background: #ebebec !important;
  color: black !important;
}
.socialMedia .socialMediaLogins .twitterLogin {
  background: #14171a !important;
  color: white !important;
}
.socialMedia .socialMediaLogins .twitterLogin .text {
  border: 0;
  -webkit-clip-path: rect(0 0 0 0);
          clip-path: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.socialMedia .socialMediaLogins .appleLogin {
  background: black !important;
  color: white !important;
}
.socialMedia .socialMediaLogins > a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  text-decoration: none !important;
  border-radius: var(--radius);
  height: 45px;
  border: 0 !important;
  text-align: center;
  padding: 1em !important;
}
.socialMedia .socialMediaLogins > a .svgIcon {
  width: 16px;
  height: auto;
  margin-right: 7px;
}
.socialMedia .socialMediaLogins > a .text {
  font-weight: bold;
  font-size: 1.1em;
}
.socialMedia .socialMediaLogins .appleLogin {
  height: 45px;
  cursor: pointer;
}
.socialMedia .socialMediaLogins .appleLogin > div {
  max-width: 100% !important;
}

/*.loginWrapper[data-hidden-for-guest="true"] {
  display: none !important;
}*/
.guestWrapperHolder {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 800ms;
  text-align: left;
}

.fieldWrapper.enrolleeName {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

.fieldWrapper.phone #PhoneNumber {
  padding-left: 50px;
}
.fieldWrapper.phone .iti {
  width: 100%;
  color: var(--basic);
}
.fieldWrapper.phone .iti .iti__country-container {
  top: 18px;
  bottom: 1px;
}
.fieldWrapper.phone .iti .iti__selected-country {
  border-radius: var(--radius) 0 0 var(--radius);
}
.fieldWrapper.phone .iti .iti__dropdown-content {
  z-index: 3;
}

:root {
  --iti-path-flags-1x: url("/Images/flags.png");
  --iti-path-flags-2x: url("/Images/flags@2x.png");
  --iti-path-globe-1x: url("/Images/globe.png");
  --iti-path-globe-2x: url("/Images/globe@2x.png");
}

header {
  display: flex;
  position: relative;
  z-index: 120;
  width: 100%;
  height: 68px;
}
header .branding {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  padding: 18px 30px 18px 30px;
  height: 100%;
  box-shadow: var(--shadow);
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
header .orientationTitle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  gap: 5px;
  font-size: 1.4em;
  transition: all 1000ms;
  color: var(--brand-dark-contrast);
}
header .logoWrap {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  width: 32%;
  height: 240px;
  padding: 20px 0 0 20px;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
  filter: drop-shadow(-2px -2px 5px color-mix(in srgb, var(--black) calc(0.8 * 100%), transparent));
  color: var(--light-contrast);
}
header .logoWrap:before {
  content: "";
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 10px;
  left: 0;
  background-color: var(--light);
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
  transition: all 500ms;
}
header .logoWrap .logo {
  position: relative;
  max-width: 52%;
  max-height: 70%;
  width: auto;
  height: auto;
}

#backgroundPlayBtn {
  top: auto;
  bottom: 10px;
  left: 10px;
  z-index: 10000;
}

body:has(footer) #backgroundPlayBtn {
  bottom: 50px;
}

#membership {
  --focus-outline-color: var(--brand-dark);
  --focus-shadow-color: var(--light);
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  min-height: calc(100dvh - 165px);
  max-width: 800px;
  margin: 0 auto 20px;
  padding-top: 15px;
  padding-bottom: 120px;
  z-index: 5;
}
#membership .titleArea {
  position: relative;
  padding: 10px 20px;
  border-radius: var(--radius);
  text-align: center;
  box-shadow: var(--shadow);
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
#membership .titleArea.accountProfiler h1 {
  font-size: 2em;
}
#membership .titleArea h2 {
  margin: 0;
}
#membership .titleArea p {
  margin: 0;
}
#membership .errorMessage,
#membership .field-validation-error {
  display: inline-block;
  text-align: center;
  background-color: var(--wrong);
  color: var(--wrong-contrast);
  max-width: 100%;
  font-weight: 600;
  padding: 5px 10px;
  margin: 2px auto 10px;
  border-radius: var(--radius);
}
#membership .loginNav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  border-top: 2px solid var(--light-grey);
  margin-top: 30px;
  padding-top: 10px;
  text-align: center;
  font-size: 0.9em;
}
#membership .loginNav > * {
  margin: 0 5px;
}
#membership .formWrap {
  margin-top: 10px;
  padding: 25px 40px;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  text-align: center;
  background-color: var(--light);
  color: var(--light-contrast);
}
#membership .formWrap input[type=radio] {
  position: relative;
  margin: 0;
  box-shadow: none;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (appearance: none)) {
  #membership .formWrap input[type=radio] {
    -webkit-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
  }
  #membership .formWrap input[type=radio]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-style: solid;
    border-width: 2px;
    border-color: var(--basic);
    border-radius: 50%;
    transition: all 200ms;
  }
  #membership .formWrap input[type=radio]:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    width: 0;
    height: 0;
    opacity: 0;
    border-radius: 50%;
    transition: all 200ms;
  }
  #membership .formWrap input[type=radio]:checked:before {
    border-color: var(--brand-dark);
    background-color: var(--brand-dark);
  }
  #membership .formWrap input[type=radio]:checked:after {
    opacity: 1;
    background-color: var(--brand-dark-contrast);
    width: 45%;
    height: 45%;
  }
  #membership .formWrap input[type=radio][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  #membership .formWrap input[type=radio][disabled]:before {
    background-color: oklch(from var(--basic) min(l + l * 0.75, 1) c h);
  }
}
#membership .formWrap input[type=checkbox] {
  position: relative;
  margin: 0;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (appearance: none)) {
  #membership .formWrap input[type=checkbox] {
    -webkit-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
  }
  #membership .formWrap input[type=checkbox]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 3px;
    border-style: solid;
    border-width: 2px;
    border-color: var(--basic);
    transition: all 200ms;
  }
  #membership .formWrap input[type=checkbox]:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-color: var(--brand-dark-contrast);
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9 IjAgMCAzMTYuMzggMjUwLjYiPjxwYXRoIGQ9Ik03MC40IDIxOS44YzQuNTUgNC44 NyA5LjIyIDkuNjcgMTQuMTIgMTQuMTkgMy43NSAzLjQ3IDcuNzEgNi44NSAxMS45 MyA5Ljc0IDUuNSAzLjc4IDExLjkyIDcuMDggMTguNzggNi44NSA2LjY2LS4yMyAx Mi43Ny0zLjczIDE3Ljk3LTcuNjIgOC42LTYuNDIgMTYuNjctMTUuMTcgMjMuODQt MjMuMTRMMzA1LjY4IDU0LjY5YzcuMi04IDExLjc5LTE4LjI1IDEwLjQ3LTI5LjE3 LTEuMDQtOC41OS01LjcxLTE2LjU1LTEzLjAxLTIxLjI5LTUuNjUtMy42Ny0xMi4y Ni00Ljk4LTE4LjktMy44Mi04LjkgMS41Ni0xNi41NCA3LjIyLTIyLjQ4IDEzLjc4 LTQ4LjM0IDUzLjMyLTk2LjU5IDEwNi43MS0xNDQuODUgMTYwLjExbC0zLjE5IDMu NTMtNjAuNC02Ni42M2MtOC40Mi05LjI5LTE5LjctMTMuOTQtMzEuOTItOS41Ny00 LjcyIDEuNjktOC45OSA0LjU4LTEyLjQ1IDguMTktMy44NiA0LjA0LTYuNzggOS4w Ni04LjEzIDE0LjQ5LTIuMzEgOS4yNy4zIDE4LjA3IDYuNjIgMjUuMTNsNjIuOTUg NzAuMzVaIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQiLz48L3N2Zz4K");
            mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9 IjAgMCAzMTYuMzggMjUwLjYiPjxwYXRoIGQ9Ik03MC40IDIxOS44YzQuNTUgNC44 NyA5LjIyIDkuNjcgMTQuMTIgMTQuMTkgMy43NSAzLjQ3IDcuNzEgNi44NSAxMS45 MyA5Ljc0IDUuNSAzLjc4IDExLjkyIDcuMDggMTguNzggNi44NSA2LjY2LS4yMyAx Mi43Ny0zLjczIDE3Ljk3LTcuNjIgOC42LTYuNDIgMTYuNjctMTUuMTcgMjMuODQt MjMuMTRMMzA1LjY4IDU0LjY5YzcuMi04IDExLjc5LTE4LjI1IDEwLjQ3LTI5LjE3 LTEuMDQtOC41OS01LjcxLTE2LjU1LTEzLjAxLTIxLjI5LTUuNjUtMy42Ny0xMi4y Ni00Ljk4LTE4LjktMy44Mi04LjkgMS41Ni0xNi41NCA3LjIyLTIyLjQ4IDEzLjc4 LTQ4LjM0IDUzLjMyLTk2LjU5IDEwNi43MS0xNDQuODUgMTYwLjExbC0zLjE5IDMu NTMtNjAuNC02Ni42M2MtOC40Mi05LjI5LTE5LjctMTMuOTQtMzEuOTItOS41Ny00 LjcyIDEuNjktOC45OSA0LjU4LTEyLjQ1IDguMTktMy44NiA0LjA0LTYuNzggOS4w Ni04LjEzIDE0LjQ5LTIuMzEgOS4yNy4zIDE4LjA3IDYuNjIgMjUuMTNsNjIuOTUg NzAuMzVaIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQiLz48L3N2Zz4K");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 60%;
            mask-size: 60%;
    -webkit-mask-position: 50% 50%;
            mask-position: 50% 50%;
    transition: all 200ms;
    opacity: 0;
  }
  #membership .formWrap input[type=checkbox]:checked:before {
    border-color: var(--brand-dark);
    background-color: var(--brand-dark);
  }
  #membership .formWrap input[type=checkbox]:checked:after {
    opacity: 1;
  }
  #membership .formWrap input[type=checkbox][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  #membership .formWrap input[type=checkbox][disabled]:before {
    background-color: color-mix(in srgb, var(--basic) calc(0.8 * 100%), transparent);
  }
}
#membership .formWrap input[type=checkbox] ~ label,
#membership .formWrap input[type=radio] ~ label {
  padding-left: 0.35em;
}
#membership .formWrap.login .statusMessage {
  background-color: var(--black);
  color: var(--black-contrast);
  padding: 5px 10px;
  width: -webkit-fit-content;
  width: fit-content;
  margin: 10px auto;
}
#membership .formWrap.login .horzDivider {
  display: flex;
  align-items: center;
  margin: 25px 0;
}
#membership .formWrap.login .horzDivider .line {
  height: 2px;
  flex-grow: 1;
  background: var(--light-grey);
}
#membership .formWrap.login .horzDivider .or {
  text-transform: uppercase;
  color: var(--basic);
  margin-left: 15px;
  margin-right: 15px;
}
#membership .formWrap.login .loginWrapper {
  background: var(--light-grey);
  padding: 15px 30px;
  border-radius: var(--radius);
  margin: 0 auto;
}
#membership .formWrap.login .loginWrapper .fieldWrapper {
  min-width: 280px;
  max-width: 350px;
}
#membership .formWrap.login .loginWrapper .field-validation-error {
  margin-top: 10px;
}
#membership .formWrap.login .loginWrapper h3 {
  font-weight: 400;
}
#membership .formWrap.landingPage {
  padding-top: 40px;
  padding-bottom: 40px;
}
#membership .formWrap.landingPage .buttons {
  --graphic: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 15px;
}
#membership .formWrap.landingPage .buttons a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--light);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  padding: 7px calc(var(--graphic) - 15px);
  flex-grow: 1;
  margin: 0 6px;
  font-size: 1.4em;
  min-height: calc(var(--graphic) + 15px);
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.landingPage .buttons a:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie #membership .formWrap.landingPage .buttons a:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.landingPage .buttons a.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.landingPage .buttons a:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.landingPage .buttons a[disabled], #membership .formWrap.landingPage .buttons a[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.landingPage .buttons a:hover .icon {
    border-radius: 50%;
    background-color: var(--brand-dark);
    color: var(--brand-dark-contrast);
  }
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .icon {
  border-radius: 50%;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
.ie #membership .formWrap.landingPage .buttons a:hover .icon {
  border-radius: 50%;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
#membership .formWrap.landingPage .buttons a:has(.image) {
  --graphic: 90px;
}
#membership .formWrap.landingPage .buttons a:has(.image) .graphicHolder {
  -webkit-clip-path: none;
          clip-path: none;
  filter: drop-shadow(-5px -5px 0px var(--brand-dark));
}
#membership .formWrap.landingPage .buttons a:has(.image) .image {
  -webkit-clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%, 0% 24%);
          clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%, 0% 24%);
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  display: block;
}
#membership .formWrap.landingPage .buttons a:has(.image) .icon {
  display: none;
}
#membership .formWrap.landingPage .buttons .graphicHolder {
  min-width: var(--graphic);
  width: var(--graphic);
  aspect-ratio: 1/1;
  position: absolute;
  z-index: 3;
  -webkit-clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%, 0% 24%);
          clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%, 0% 24%);
  top: -15px;
  left: -9px;
  border-radius: var(--radius-circle);
}
#membership .formWrap.landingPage .buttons .graphicHolder .image {
  display: none;
}
#membership .formWrap.landingPage .buttons .text {
  font-weight: bold;
  width: 100%;
}
#membership .formWrap.landingPage .buttons .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  height: 100%;
  width: 100%;
  font-family: var(--icon-font);
  font-size: 1.8em;
  transition: all 200ms;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
#membership .formWrap.landingPage .buttons .guestLoginBtn {
  transform-origin: 25% 50%;
}
#membership .formWrap.landingPage .buttons .guestLoginBtn .icon:before {
  content: "k";
}
#membership .formWrap.landingPage .buttons .enrolleeLoginBtn {
  transform-origin: 75% 50%;
}
#membership .formWrap.landingPage .buttons .enrolleeLoginBtn .icon:before {
  content: "z";
}
#membership .formWrap.accountProfiler {
  text-align: left;
}
#membership .formWrap.accountProfiler .profileSettingsExplainer,
#membership .formWrap.accountProfiler .profileErrorWrap {
  text-align: center;
}
#membership .formWrap.accountProfiler .errorMessage li {
  list-style-type: none;
}
#membership .formWrap.accountProfiler .instruction {
  margin-bottom: 15px;
  text-align: center;
}
#membership .formWrap.accountProfiler .buttonHolder {
  margin: 20px 0 20px;
}
#membership .formWrap.accountProfiler .styledFieldset.phone .fieldWrapper {
  margin-bottom: 15px;
  padding-bottom: 10px;
  max-width: 100%;
}
#membership .formWrap.accountProfiler .styledFieldset.phone .fieldWrapper .iti {
  max-width: 500px;
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn {
  border: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  overflow: visible;
  font-size: 0.8em;
  border-bottom: 1px solid var(--brand-dark);
  cursor: pointer;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  transition: 200ms;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
    border-color: var(--brand-bright);
    color: var(--brand-bright);
    background-color: var(--brand-bright-contrast);
  }
}
[data-browser=ie] #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
  border-color: var(--brand-bright);
  color: var(--brand-bright);
  background-color: var(--brand-bright-contrast);
}
.ie #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
  border-color: var(--brand-bright);
  color: var(--brand-bright);
  background-color: var(--brand-bright-contrast);
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn.focus-visible {
  border-color: var(--brand-bright);
  color: var(--brand-bright);
  background-color: var(--brand-bright-contrast);
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn:focus-visible {
  border-color: var(--brand-bright);
  color: var(--brand-bright);
  background-color: var(--brand-bright-contrast);
}
#membership .formWrap.twoFactor .singleFieldSubmission {
  display: flex;
  justify-content: center;
  margin-bottom: 25px;
}
#membership .formWrap.twoFactor .singleFieldSubmission .fieldWrapper {
  margin: 0 5px 0 0;
}
#membership .formWrap.twoFactor .singleFieldSubmission button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--light);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button[disabled], #membership .formWrap.twoFactor .singleFieldSubmission button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.twoFactor #TFAButtonApp {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--light);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  padding: 0.35em 0.5em;
  margin-bottom: 20px;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor #TFAButtonApp:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor #TFAButtonApp:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor #TFAButtonApp:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp[disabled], #membership .formWrap.twoFactor #TFAButtonApp[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.twoFactor #TFAButtonEmail,
#membership .formWrap.twoFactor #OTPButton {
  border: 0;
  background: none;
  padding: 0 0 2px;
  margin-top: 15px;
  border-bottom: 1px solid var(--brand-dark);
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonEmail[data-wait-a-few=true],
#membership .formWrap.twoFactor #OTPButton[data-wait-a-few=true] {
  opacity: 0.6;
  cursor: not-allowed;
}
#membership .buttonHolder {
  text-align: center;
}
#membership .buttonHolder button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--light);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  margin: 0 auto;
}
@media (hover: hover) and (pointer: fine) {
  #membership .buttonHolder button:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #membership .buttonHolder button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie #membership .buttonHolder button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .buttonHolder button.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .buttonHolder button:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .buttonHolder button[disabled], #membership .buttonHolder button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .styledFieldset {
  margin-bottom: 20px;
}
#membership .styledFieldset .groupLegend {
  margin-bottom: 10px;
}

.simpleDialog .closeDialog {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--light);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
@media (hover: hover) and (pointer: fine) {
  .simpleDialog .closeDialog:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] .simpleDialog .closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie .simpleDialog .closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.simpleDialog .closeDialog.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.simpleDialog .closeDialog:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.simpleDialog .closeDialog[disabled], .simpleDialog .closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
.simpleDialog .closeDialog .icon {
  display: none;
}

#resetData button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--light);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
@media (hover: hover) and (pointer: fine) {
  #resetData button:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #resetData button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie #resetData button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#resetData button.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#resetData button:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#resetData button[disabled], #resetData button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 1600px) {
  header .logoWrap {
    height: 200px;
  }
}
@media (max-width: 1280px) {
  header .logoWrap {
    height: 160px;
  }
}
@media (max-width: 1050px) {
  body:after {
    content: "";
    position: fixed;
    top: max(150px, 30vh);
    height: max(100% - 150px, 100% - 30vh);
    width: 100%;
    background: linear-gradient(to bottom, color-mix(in srgb, var(--light) calc(0 * 100%), transparent), color-mix(in srgb, var(--light-grey) calc(1 * 100%), transparent) 15%);
  }
  header {
    height: 60px;
  }
  header .logoWrap {
    width: 330px;
    height: 140px;
  }
  header .branding {
    padding: 12px 30px 12px 350px;
  }
  header .orientationTitle {
    font-size: 1.2em;
  }
  #membership {
    display: flex;
    max-width: 100%;
    margin: 0;
    padding-top: max(150px, 30vh);
    padding-bottom: 0;
    padding-left: 20px;
    padding-right: 20px;
    min-height: auto;
    overflow: hidden;
  }
  #membership .titleArea,
  #membership .formWrap {
    position: relative;
    z-index: 5;
  }
  #membership:before {
    content: "";
    position: absolute;
    left: 0;
    top: max(150px, 30vh);
    height: max(100% - 150px, 100% - 30vh);
    width: 100%;
    background: linear-gradient(to bottom, color-mix(in srgb, var(--light) calc(0 * 100%), transparent), color-mix(in srgb, var(--light-grey) calc(1 * 100%), transparent) 15%);
  }
  #background {
    background: var(--light-grey);
  }
  #background .bgImg,
  #background video {
    top: 0;
    height: max(220px, 44vh);
  }
  #backgroundPlayBtn {
    position: absolute;
    bottom: auto !important;
    top: 130px;
  }
}
@media (max-width: 800px) {
  .socialMedia .socialMediaLogins {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  #membership .formWrap.login .loginWrapper {
    padding: 0;
    background: none;
  }
  #membership .formWrap.landingPage .buttons a {
    flex-grow: 1;
  }
}
@media (max-width: 650px) {
  header .orientationTitle {
    font-size: 1em;
  }
  header .branding {
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 280px;
    height: 60px;
  }
  header .logoWrap {
    width: 280px;
    height: 130px;
    padding-left: 15px;
    padding-top: 15px;
  }
  #membership .formWrap {
    padding: 25px;
  }
  #membership .formWrap.landingPage .buttons {
    flex-direction: column;
  }
  #membership .formWrap.landingPage .buttons a {
    width: 100%;
  }
  #membership .formWrap.landingPage .buttons a:first-child {
    margin-bottom: 15px;
  }
  #resetData button {
    width: 100%;
    margin-bottom: 8px;
  }
  #backgroundPlayBtn {
    top: 120px;
  }
}
@media (max-width: 520px) {
  header .logoWrap {
    width: 240px;
    height: 100px;
    padding-left: 12px;
    padding-top: 12px;
  }
  header .branding {
    height: 54px;
    padding-left: 250px;
    padding-right: 20px;
  }
  header .orientationTitle {
    font-size: 0.9em;
  }
  .socialMedia .socialMediaLogins {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  #backgroundPlayBtn {
    top: 95px;
  }
}
@media (max-width: 450px) {
  #membership .formWrap {
    padding: 16px;
  }
  #membership .formWrap.landingPage {
    padding: 20px;
  }
  header .logoWrap {
    width: 210px;
    height: 95px;
  }
  header .branding {
    height: 50px;
    padding-left: 200px;
    padding-right: 15px;
  }
  header .orientationTitle {
    font-size: 0.85em;
  }
  #backgroundPlayBtn {
    left: 8px;
    top: 85px;
  }
}
.rte {
  clear: both;
}
.rte h4,
.rte h5 {
  margin: 0.8em 0 0.5em;
}
.rte > *:first-child {
  margin-top: 0 !important;
}
.rte > *:last-child {
  margin-bottom: 0 !important;
}
.rte a.focus-visible {
  box-shadow: inset 0 0 0 2px black !important;
  text-decoration: none !important;
  border: 0 !important;
}
.rte a:focus-visible {
  box-shadow: inset 0 0 0 2px black !important;
  text-decoration: none !important;
  border: 0 !important;
}
.rte a:has(img) {
  position: relative;
  display: inline-flex;
  border: 0;
  padding: 0;
}
.rte a:has(img) .icon {
  position: absolute;
  top: 2px;
  right: 3px;
  padding: 6px;
  border-radius: var(--radius-sm);
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  box-shadow: var(--shadow);
  transition: all 200ms;
}
@media (hover: hover) and (pointer: fine) {
  .rte a:has(img):hover .icon {
    background-color: var(--hover);
    color: var(--hover-contrast);
  }
}
[data-browser=ie] .rte a:has(img):hover .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.ie .rte a:has(img):hover .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.rte a:has(img).focus-visible .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.rte a:has(img):focus-visible .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.rte iframe {
  max-width: calc(100vw - 80px);
  max-height: calc((100vw - 80px) / 1.7778); /* 16:9 */
}
.rte img {
  margin: 10px;
}
.rte img[style*="float: right"] {
  margin: 0 0 20px 20px;
}
.rte img[style*="float: left"] {
  margin: 0 20px 20px 0px;
}
.rte img[style*="float: right"], .rte img[style*="float: left"] {
  max-width: 60%;
}
@media (max-width: 650px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 50%;
  }
}
@media (max-width: 520px), (max-width: 1050px) and (min-width: 801px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 100%;
    float: none !important;
    margin: 0 auto 8px;
  }
}
.rte figure:not(.termBbl) {
  margin: 20px 0px;
  border-radius: calc(var(--radius) + 5px - var(--border));
  border: var(--border) solid var(--grey);
  padding: 5px;
  display: inline-block;
}
.rte figure:not(.termBbl) img {
  float: none !important;
  margin: 0px !important;
  max-width: 100% !important;
  border-radius: var(--radius) var(--radius) 0px 0px;
}
.rte figure:not(.termBbl)[style*="text-align: right"] {
  float: right;
  margin: 0 0 20px 20px;
}
.rte figure:not(.termBbl)[style*="text-align: left"] {
  float: left;
  margin: 0 20px 20px 0px;
}
.rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
  text-align: left !important;
  max-width: 60%;
}
@media (max-width: 650px) {
  .rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
    max-width: 50%;
  }
}
@media (max-width: 520px), (max-width: 1050px) and (min-width: 801px) {
  .rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
    max-width: 100%;
    float: none !important;
    margin: 0 auto 8px;
  }
}
.rte figure:not(.termBbl) figcaption {
  font-weight: 400;
  padding: 10px;
  border-radius: 0px 0px var(--radius) var(--radius);
  background-color: var(--light-grey);
  color: var(--light-grey-contrast);
  font-size: 0.9em;
}
.rte ol[style="list-style-type: upper-alpha;"] > li:before, .rte ol[style="list-style-type: lower-alpha;"] > li:before, .rte ol[style="list-style-type: lower-greek;"] > li:before, .rte ol[style="list-style-type: upper-roman;"] > li:before, .rte ol[style="list-style-type: lower-roman;"] > li:before {
  display: none;
}
.rte .tableWrapper {
  overflow: auto;
  max-width: 100%;
  margin-bottom: 20px;
  background: linear-gradient(to right, var(--light) 30%, color-mix(in srgb, var(--light) calc(0 * 100%), transparent)), linear-gradient(to right, color-mix(in srgb, var(--light) calc(0 * 100%), transparent), var(--light) 70%) 0 100%, radial-gradient(farthest-side at 0% 50%, color-mix(in srgb, var(--black) calc(0.2 * 100%), transparent), color-mix(in srgb, var(--black) calc(0 * 100%), transparent)), radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--black) calc(0.2 * 100%), transparent), color-mix(in srgb, var(--black) calc(0 * 100%), transparent)) 0 100%;
  background-repeat: no-repeat;
  background-color: var(--light);
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-position: 0 0, 100%, 0 0, 100%;
  background-attachment: local, local, scroll, scroll;
  container-type: inline-size;
}
.rte .tableWrapper table {
  min-width: 500px;
  margin-bottom: 5px;
}
.rte .tableWrapper table caption {
  padding: 4px;
  font-weight: 500;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
.rte .tableWrapper table tr:nth-child(even) {
  background: color-mix(in srgb, var(--brand-bright) calc(0.17 * 100%), transparent);
}
.rte .tableWrapper table tr:nth-child(odd) {
  background: color-mix(in srgb, var(--brand-bright) calc(0.06 * 100%), transparent);
}
.rte .tableWrapper table th {
  padding: 3px;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-color: black;
}
.rte .tableWrapper table td {
  padding: 3px;
  font-size: 0.95em;
}
.rte .tableWrapper table a {
  background: none;
}
.rte .tableWrapper .mobileScrollMessage {
  position: relative;
  display: none;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: var(--radius);
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
.rte .tableWrapper .mobileScrollMessage:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: calc(5px + var(--radius));
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 6px 8px 5px;
  border-color: transparent transparent var(--brand-dark) transparent;
}

@container (max-width: 500px) {
  .rte .tableWrapper .mobileScrollMessage {
    display: inline-block;
  }
}
@media (max-width: 650px) {
  .rte .tableWrapper .mobileScrollMessage {
    display: inline-block;
  }
}
.rte p,
#revealModalDialog .copyWrap p {
  font-family: var(--basic-font);
  font-size: 1em;
}
.rte h3.heading,
#revealModalDialog .copyWrap h3.heading {
  width: -webkit-fit-content;
  width: fit-content;
  margin: 0.75em 0 0.4em;
  font-size: 1.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--brand-dark);
  background-color: var(--brand-dark-contrast);
}
.rte .headingList,
.rte .subheadingList,
#revealModalDialog .copyWrap .headingList,
#revealModalDialog .copyWrap .subheadingList {
  width: -webkit-fit-content;
  width: fit-content;
  margin: 0.75em 0 0.4em;
  padding-bottom: 0.25em;
  border-bottom: 2px solid var(--brand-dark);
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 1.2em;
  color: var(--brand-dark);
  background-color: var(--brand-dark-contrast);
}
.rte h3.headingList,
#revealModalDialog .copyWrap h3.headingList {
  font-size: 1.2em;
}
.rte h4.subheadingList,
#revealModalDialog .copyWrap h4.subheadingList {
  font-size: 1em;
}
.rte h4.subheading,
#revealModalDialog .copyWrap h4.subheading {
  width: -webkit-fit-content;
  width: fit-content;
  margin: 0.75em 0 0.4em;
  font-size: 1.35em;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-radius: 8px;
}
.rte .largeText,
#revealModalDialog .copyWrap .largeText {
  position: relative;
  margin-bottom: 25px;
  display: block;
  width: -webkit-fit-content;
  width: fit-content;
  font-size: 1.3em;
  line-height: 1.4em;
  font-family: var(--primary-font);
  font-weight: 400;
  background: var(--light-grey);
  padding: 10px 15px 10px 25px;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.rte .largeText a,
#revealModalDialog .copyWrap .largeText a {
  background: none;
  color: var(--light-grey-contrast);
  border-bottom-width: 2px;
}
.rte .largeText:before,
#revealModalDialog .copyWrap .largeText:before {
  content: "";
  position: absolute;
  left: 0px;
  top: 0px;
  width: 10px;
  height: 0;
  background: var(--brand-bright);
  transition: height 300ms;
  transition-delay: 1000ms;
}
.current .rte .largeText:before,
.current #revealModalDialog .copyWrap .largeText:before {
  height: 100%;
}
.rte .highlight,
#revealModalDialog .copyWrap .highlight {
  background: color-mix(in srgb, var(--brand-bright) calc(0.3 * 100%), transparent);
}
.rte ul,
#revealModalDialog .copyWrap ul {
  padding: 0;
}
.rte ul > li,
#revealModalDialog .copyWrap ul > li {
  margin-left: 40px;
  margin-bottom: 5px;
}
.rte ul > li::marker,
#revealModalDialog .copyWrap ul > li::marker {
  font-size: 1.25em;
  color: var(--brand-dark);
}
.rte ol,
#revealModalDialog .copyWrap ol {
  padding: 0;
  list-style-type: none;
  counter-reset: counter;
}
.rte ol > li,
#revealModalDialog .copyWrap ol > li {
  position: relative;
  counter-increment: counter;
  margin-left: 40px;
  margin-bottom: 5px;
}
.rte ol > li:before,
#revealModalDialog .copyWrap ol > li:before {
  content: counter(counter) ". ";
  position: absolute;
  right: calc(100% + 8px);
  color: var(--brand-dark);
  font-weight: bold;
}
.rte a,
#revealModalDialog .copyWrap a {
  color: var(--link);
  background-color: var(--link-contrast);
}

.calloutSubtle {
  clear: both;
  margin: 1em 0 0.4em;
  padding: 10px 15px;
  border-radius: var(--radius);
  background-color: var(--light-grey);
  color: var(--light-grey-contrast);
  filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.2));
  border: 2px solid var(--light);
  position: relative;
}
.calloutSubtle a {
  background-color: var(--light-grey);
  color: var(--light-grey-contrast);
  border-bottom: 2px solid var(--light-grey-contrast);
}
@media (hover: hover) and (pointer: fine) {
  .calloutSubtle a:hover {
    color: var(--basic);
    background-color: var(--basic-contrast);
    border-bottom-color: var(--basic);
  }
}
[data-browser=ie] .calloutSubtle a:hover {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.ie .calloutSubtle a:hover {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.calloutSubtle a.focus-visible {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.calloutSubtle a:focus-visible {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}

.calloutBold {
  clear: both;
  margin: 0.75em 0 0.4em;
  padding: 10px 15px;
  border-radius: var(--radius);
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.2));
}
.calloutBold a {
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  border-bottom: 2px solid var(--brand-dark-contrast);
}
@media (hover: hover) and (pointer: fine) {
  .calloutBold a:hover {
    color: var(--basic);
    background-color: var(--basic-contrast);
    border-bottom-color: var(--basic);
  }
}
[data-browser=ie] .calloutBold a:hover {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.ie .calloutBold a:hover {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.calloutBold a.focus-visible {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.calloutBold a:focus-visible {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}

#membership .formWrap.maintenance {
  background: var(--brand-bright);
  border-color: var(--light);
}
#membership .formWrap.maintenance .formArea {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  background: transparent;
}
#membership .formWrap.maintenance .formArea .rte {
  color: var(--light);
  padding-right: 25px;
}
#membership .formWrap.maintenance .formArea .icon {
  flex-shrink: 0;
  flex-grow: 0;
  width: 350px;
  height: 350px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16em;
  border-left: 2px solid oklch(from var(--brand-bright) min(l + l * 0.3, 1) c h);
  color: var(--light);
}

@media (max-width: 800px) {
  #membership .formWrap.maintenance .formArea .icon {
    width: 30%;
    height: 150px;
    font-size: 6em;
  }
}
@media (max-width: 650px) {
  #membership .formWrap.maintenance .formArea {
    flex-direction: column-reverse;
    justify-content: center;
  }
  #membership .formWrap.maintenance .formArea .icon {
    width: 75px;
    height: 75px;
    font-size: 3em;
    padding: 0;
    margin-bottom: 25px;
    border-left: 0;
    border-bottom: 2px solid oklch(from var(--brand-bright) min(l + l * 0.3, 1) c h);
  }
}
.membershipPage .errorPage .errorWrap {
  background: var(--brand-bright);
  border-radius: var(--radius);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row-reverse;
  color: var(--light);
  margin-top: 10px;
  padding: 30px;
}
.membershipPage .errorPage .icon {
  padding: 30px;
  font-size: 8em;
  border-left: 2px solid rgb(167, 196, 221);
  width: 50%;
  display: flex;
  justify-content: center;
}
.membershipPage .errorPage .rte {
  text-align: center;
  padding: 40px 30px 20px 30px;
  width: 50%;
}
.membershipPage .errorPage .rte h3.heading {
  background: transparent;
  color: var(--brand-bright-contrast);
  text-transform: none;
}

@media (max-width: 800px) {
  .membershipPage .errorPage .icon {
    font-size: 6em;
  }
}
@media (max-width: 650px) {
  .membershipPage .errorPage .errorWrap {
    flex-direction: column;
    padding: 0 30px;
  }
  .membershipPage .errorPage .icon {
    font-size: 5em;
    border-left: 0;
    padding-bottom: 15px;
    border-bottom: 2px solid rgb(167, 196, 221);
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .membershipPage .errorPage .rte {
    width: 100%;
    padding: 15px 0;
  }
}
@layer base {
  details {
    transition: all 500ms;
  }
  details > summary::marker,
  details > summary::-webkit-details-marker {
    display: none;
  }
  .accordionModule .accordionTitle {
    cursor: pointer;
    list-style: none;
  }
  .accordionModule[data-interaction-mandatory=true]:not(.interactedWith) .icon-mandatory {
    display: block !important;
  }
  .accordionModule[data-interaction-mandatory=true]:not(.interactedWith) .interactionNotification {
    display: block !important;
    border: 0;
    -webkit-clip-path: rect(0 0 0 0);
            clip-path: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
}
.primaryAccordion {
  position: relative;
  margin: 10px 0;
}
.primaryAccordion[open] {
  box-shadow: var(--shadow);
}
.primaryAccordion[open] > .accordionTitle {
  border-radius: var(--radius-sm) var(--radius-sm) 0px 0px;
}
.primaryAccordion[open] > .accordionTitle .icon-arrow-down {
  transform: translateY(-50%) rotate(180deg);
  transform-origin: center;
}
.primaryAccordion[data-interaction-mandatory=true]:not(.interactedWith) .icon-mandatory {
  position: absolute;
  right: -3px;
  top: -3px;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  padding: 3px;
  border-radius: var(--radius-sm);
  box-shadow: 1px 1px 8px 0px rgba(0, 0, 0, 0.3);
  font-size: 0.75em;
}
.primaryAccordion .accordionTitle {
  position: relative;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  padding: 20px 20px 20px 40px;
  border-radius: var(--radius-sm);
}
@media (hover: hover) and (pointer: fine) {
  .primaryAccordion .accordionTitle:hover {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .primaryAccordion .accordionTitle:hover .icon {
    color: var(--brand-bright-contrast);
  }
}
[data-browser=ie] .primaryAccordion .accordionTitle:hover {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
[data-browser=ie] .primaryAccordion .accordionTitle:hover .icon {
  color: var(--brand-bright-contrast);
}
.ie .primaryAccordion .accordionTitle:hover {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.ie .primaryAccordion .accordionTitle:hover .icon {
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle.focus-visible {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle.focus-visible .icon {
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle:focus-visible {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle:focus-visible .icon {
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle .icon-arrow-down {
  color: var(--brand-dark-contrast);
  position: absolute;
  top: 50%;
  left: 18px;
  transform: rotate(0) translateY(-50%);
  transition: 0.2s transform;
}
.primaryAccordion .accordionTitle .icon-arrow-down:before {
  content: "w";
  font-family: var(--icon-font);
}
.primaryAccordion .accordionWrapper {
  padding: 20px 20px;
  border-radius: 0px 0px var(--radius-sm) var(--radius-sm);
  background-color: var(--light);
  color: var(--light-contrast);
}
.primaryAccordion .accordionWrapper img {
  max-width: 100%;
  height: auto !important;
}
.primaryAccordion + .rte {
  margin-top: 25px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovVEZTJTIwUHJvamVjdHMvU2FuJTIwRGllZ28lMjBNZXNhJTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L1NhbkRpZWdvTWVzYUMtNzU5NS9TYXNzL19nbG9iYWwvX3NvbG8tbGF5ZXJzLnNjc3MiLCJmaWxlOi8vL0Q6L1RGUyUyMFByb2plY3RzL1NhbiUyMERpZWdvJTIwTWVzYSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMDIwMjUlMjAtJTIwNzU5NS9TYW5EaWVnb01lc2FDLTc1OTUvU2Fzcy9ncmlkL2FkZ01lbWJlcnNoaXAuc2NzcyIsImZpbGU6Ly8vZDovdGZzJTIwcHJvamVjdHMvc2FuJTIwZGllZ28lMjBtZXNhJTIwY29sbGVnZSUyMC0lMjB1cGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L3NhbmRpZWdvbWVzYWMtNzU5NS9ub2RlX21vZHVsZXMvaW50bC10ZWwtaW5wdXQvYnVpbGQvY3NzL2ludGx0ZWxpbnB1dC5jc3MiLCIuLi8uLi8uLi9TYXNzL2dyaWQvYWRnTWVtYmVyc2hpcC5zY3NzIiwiZmlsZTovLy9EOi9URlMlMjBQcm9qZWN0cy9TYW4lMjBEaWVnbyUyME1lc2ElMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAyMDI1JTIwLSUyMDc1OTUvU2FuRGllZ29NZXNhQy03NTk1L1Nhc3MvX2dsb2JhbC9fc2hhcmVkLW1peGlucy5zY3NzIiwiZmlsZTovLy9EOi9URlMlMjBQcm9qZWN0cy9TYW4lMjBEaWVnbyUyME1lc2ElMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAyMDI1JTIwLSUyMDc1OTUvU2FuRGllZ29NZXNhQy03NTk1L1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWdsb2JhbC5zY3NzIiwiZmlsZTovLy9EOi9URlMlMjBQcm9qZWN0cy9TYW4lMjBEaWVnbyUyME1lc2ElMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAyMDI1JTIwLSUyMDc1OTUvU2FuRGllZ29NZXNhQy03NTk1L1Nhc3MvZ3JpZC9fZm9udHMuc2NzcyIsImZpbGU6Ly8vRDovVEZTJTIwUHJvamVjdHMvU2FuJTIwRGllZ28lMjBNZXNhJTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L1NhbkRpZWdvTWVzYUMtNzU5NS9TYXNzL19nbG9iYWwvX3NoYXJlZC1mb3Jtcy5zY3NzIiwiZmlsZTovLy9EOi9URlMlMjBQcm9qZWN0cy9TYW4lMjBEaWVnbyUyME1lc2ElMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAyMDI1JTIwLSUyMDc1OTUvU2FuRGllZ29NZXNhQy03NTk1L1Nhc3MvZ3JpZC9fZm9ybXMuc2NzcyIsImZpbGU6Ly8vRDovVEZTJTIwUHJvamVjdHMvU2FuJTIwRGllZ28lMjBNZXNhJTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L1NhbkRpZWdvTWVzYUMtNzU5NS9TYXNzL19nbG9iYWwvX3NoYXJlZC1kaWFsb2dzLnNjc3MiLCJmaWxlOi8vL0Q6L1RGUyUyMFByb2plY3RzL1NhbiUyMERpZWdvJTIwTWVzYSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMDIwMjUlMjAtJTIwNzU5NS9TYW5EaWVnb01lc2FDLTc1OTUvU2Fzcy9fZ2xvYmFsL19zaGFyZWQtdmFyaWFibGVzLnNjc3MiLCJmaWxlOi8vL0Q6L1RGUyUyMFByb2plY3RzL1NhbiUyMERpZWdvJTIwTWVzYSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMDIwMjUlMjAtJTIwNzU5NS9TYW5EaWVnb01lc2FDLTc1OTUvU2Fzcy9ncmlkL19kaWFsb2cuc2NzcyIsImZpbGU6Ly8vRDovVEZTJTIwUHJvamVjdHMvU2FuJTIwRGllZ28lMjBNZXNhJTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L1NhbkRpZWdvTWVzYUMtNzU5NS9TYXNzL2dyaWQvX21peGlucy5zY3NzIiwiZmlsZTovLy9EOi9URlMlMjBQcm9qZWN0cy9TYW4lMjBEaWVnbyUyME1lc2ElMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAyMDI1JTIwLSUyMDc1OTUvU2FuRGllZ29NZXNhQy03NTk1L1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWJhY2tncm91bmQuc2NzcyIsImZpbGU6Ly8vRDovVEZTJTIwUHJvamVjdHMvU2FuJTIwRGllZ28lMjBNZXNhJTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L1NhbkRpZWdvTWVzYUMtNzU5NS9TYXNzL2dyaWQvX2JhY2tncm91bmQuc2NzcyIsImZpbGU6Ly8vRDovVEZTJTIwUHJvamVjdHMvU2FuJTIwRGllZ28lMjBNZXNhJTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L1NhbkRpZWdvTWVzYUMtNzU5NS9TYXNzL2dyaWQvX2xvZ2luLnNjc3MiLCJmaWxlOi8vL0Q6L1RGUyUyMFByb2plY3RzL1NhbiUyMERpZWdvJTIwTWVzYSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMDIwMjUlMjAtJTIwNzU5NS9TYW5EaWVnb01lc2FDLTc1OTUvU2Fzcy9fZ2xvYmFsL19zaGFyZWQtcmljaFRleHRTdHlsZXMuc2NzcyIsImZpbGU6Ly8vRDovVEZTJTIwUHJvamVjdHMvU2FuJTIwRGllZ28lMjBNZXNhJTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L1NhbkRpZWdvTWVzYUMtNzU5NS9TYXNzL2dyaWQvX3JpY2hUZXh0U3R5bGVzLnNjc3MiLCJmaWxlOi8vL0Q6L1RGUyUyMFByb2plY3RzL1NhbiUyMERpZWdvJTIwTWVzYSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMDIwMjUlMjAtJTIwNzU5NS9TYW5EaWVnb01lc2FDLTc1OTUvU2Fzcy9ncmlkL19tYWludGVuYW5jZS5zY3NzIiwiZmlsZTovLy9EOi9URlMlMjBQcm9qZWN0cy9TYW4lMjBEaWVnbyUyME1lc2ElMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAyMDI1JTIwLSUyMDc1OTUvU2FuRGllZ29NZXNhQy03NTk1L1Nhc3MvZ3JpZC9fZXJyb3JQYWdlcy5zY3NzIiwiZmlsZTovLy9EOi9URlMlMjBQcm9qZWN0cy9TYW4lMjBEaWVnbyUyME1lc2ElMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAyMDI1JTIwLSUyMDc1OTUvU2FuRGllZ29NZXNhQy03NTk1L1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWFjY29yZGlvbnMuc2NzcyIsImZpbGU6Ly8vRDovVEZTJTIwUHJvamVjdHMvU2FuJTIwRGllZ28lMjBNZXNhJTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwMjAyNSUyMC0lMjA3NTk1L1NhbkRpZWdvTWVzYUMtNzU5NS9TYXNzL2dyaWQvX2FjY29yZGlvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQUE7QUFDQSxXQUFBO0FDQ0Esc0JBQUE7QUNGQTtFQUNFLHNDQUFBO0VBQ0Esd0JBQUE7RUFDQSwwQkFBQTtFQUNBLHdCQUFBO0VBQ0EsNkJBQUE7RUFDQSw0QkFBQTtFQUNBLHVCQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0Esc0JBQUE7RUFDQSx1REFBQTtFQUNBLHdCQUFBO0VBQ0EsdUJBQUE7RUFDQSw2Q0FBQTtFQUNBLGdEQUFBO0VBQ0EsNkNBQUE7RUFDQSxnREFBQTtFQUNBLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSwrQkFBQTtBQ0lGOztBRERBO0VBQ0Usa0JBQUE7RUFDQSxxQkFBQTtBQ0lGOztBREZBO0VBQ0Usc0JBQUE7QUNLRjs7QURIQTtFQUNFLFVBQUE7RUFDQSxXQUFBO0VBQ0EsOEJBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0FDTUY7O0FESkE7OztFQUdFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLG9CQUFBO0FDT0Y7O0FETEE7OztFQUdFLGlCQUFBO0FDUUY7O0FETkE7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsZ0NBQUE7QUNTRjs7QURQQTtFQUNFLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFD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QUE7QUNnREY7O0FEN0NBO0VBQ0Usd0JBQUE7RUFDQSw4QkFBQTtFQUNBLDRCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQ0FBQTtFQUNBLDBDQUFBO0VBQ0EsNEJBQUE7RUFDQSw2Q0FBQTtFQUNBLDJFQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHNCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHdCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHdCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHdCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHdCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHdCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHdCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHlCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLDBCQUFBO0FDZ0RG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QTtFQUNBLHdCQUFBO0FsQnc0SlI7QWtCbDRKSTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQUE7RWpCMGpCRixxQ0FBQTtFQUNBLG1DQUFBO0VpQnpqQkUsWUFBQTtFQUNBLCtCQUFBO0VBQ0EsOENBQUE7RUFDQSxpQkFBQTtBbEJxNEpOO0FrQmo0SkU7RUFDRSxrQkFBQTtFakJnakJBLG1DQUFBO0VBQ0EsaUNBQUE7RWlCL2lCQSw0QkFBQTtFQUNBLCtCQUFBO0FsQm80Sko7QUM1NElFO0VBQ0U7SUFvREEscUNBQUE7SUFDQSxtQ0FBQTtFRDIxSUY7RWtCcDRKSTtJQUNFLG1DQUFBO0VsQnM0Sk47QUFDRjtBQy80SUU7RUErQ0UscUNBQUE7RUFDQSxtQ0FBQTtBRG0ySUo7QWtCNTRKTTtFQUNFLG1DQUFBO0FsQjg0SlI7QUNsNUlFO0VBMkNFLHFDQUFBO0VBQ0EsbUNBQUE7QUQwMklKO0FrQm41Sk07RUFDRSxtQ0FBQTtBbEJxNUpSO0FDOTRJRTtFQWdDRSxxQ0FBQTtFQUNBLG1DQUFBO0FEaTNJSjtBa0IxNUpNO0VBQ0UsbUNBQUE7QWxCNDVKUjtBQ2o1SUU7RUE0QkUscUNBQUE7RUFDQSxtQ0FBQTtBRHczSUo7QWtCajZKTTtFQUNFLG1DQUFBO0FsQm02SlI7QWtCLzVKSTtFQUtFLGlDQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtFQUNBLHFDQUFBO0VBQ0EsMEJBQUE7QWxCNjVKTjtBa0J0NkpNO0VBQ0UsWUFBQTtFQUNBLDZCQUFBO0FsQnc2SlI7QWtCNzVKRTtFQUNFLGtCQUFBO0VBQ0Esd0RBQUE7RWpCbWhCQSw4QkFBQTtFQUNBLDRCQUFBO0FENjRJSjtBa0IvNUpJO0VBQ0UsZUFBQTtFQUNBLHVCQUFBO0FsQmk2Sk47QWtCNzVKRTtFQUNFLGdCQUFBO0FsQis1SkoiLCJmaWxlIjoiYWRnTWVtYmVyc2hpcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbGF5ZXIgcmVzZXQ7IC8vIENyZWF0ZSAxc3QgbGF5ZXIgbmFtZWQgXCJyZXNldFwiXG5AbGF5ZXIgYmFzZTsgLy8gQ3JlYXRlIDJuZCBsYXllciBuYW1lZCBcImJhc2VcIlxuXG4vLyBTb21lIGFkZGl0aW9uYWwgbm90ZXMgYW5kIHJlbWluZGVyczpcbi8vIC0gc29sby1sYXllcnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZXkncmUgZGVjbGFyZWQuIFNvIGluIHRoZSBjYXNlIGFib3ZlLCBzdHlsZXMgaW4gXCJiYXNlXCIgb3ZlcndyaXRlIHN0eWxlcyBpbiBcInJlc2V0XCIuXG4vLyAtIFJlZ3VsYXIgc3R5bGVzIChha2Egb25lcyBub3QgaW5zaWRlIGEgbGF5ZXIpIGFsd2F5cyBvdmVyd3JpdGUgc3R5bGVzIGluc2lkZSBvZiBzb2xvLWxheWVycywgcmVnYXJkbGVzcyBvZiBzcGVjaWZpY2l0eS5cbi8vIC0gRE8gTk9UIHVzZSAhaW1wb3J0YW50IGluc2lkZSBvZiBhIGxheWVyLCBpdCBXSUxMIGNhdXNlIGlzc3VlcyBhbmQgc2FkbmVzcy5cbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NvbG8tbGF5ZXJzXCI7IC8vIFRoaXMgc2hvdWxkIEFMV0FZUyBiZSBmaXJzdCBpbiB0aGUgbGlzdCBvZiBpbXBvcnRzIG9yIHRoaW5ncyB3aWxsIGdldCB3ZWlyZC5cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbkB1c2UgXCJwa2c6aW50bC10ZWwtaW5wdXQvc3R5bGVzXCI7XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5AdXNlIFwiZ2xvYmFsXCI7XG5AdXNlIFwiZm9udHNcIjtcbkB1c2UgXCJmb3Jtc1wiO1xuQHVzZSBcImRpYWxvZ1wiO1xuQHVzZSBcImJhY2tncm91bmRcIjtcbkB1c2UgXCJsb2dpblwiO1xuQHVzZSBcInJpY2hUZXh0U3R5bGVzXCI7XG5AdXNlIFwibWFpbnRlbmFuY2VcIjtcbkB1c2UgXCJlcnJvclBhZ2VzXCI7XG5AdXNlIFwiYWNjb3JkaW9uXCI7XG4iLCI6cm9vdCB7XG4gIC0taXRpLWhvdmVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAtLWl0aS1ib3JkZXItY29sb3I6ICNjY2M7XG4gIC0taXRpLWRpYWxjb2RlLWNvbG9yOiAjOTk5O1xuICAtLWl0aS1kcm9wZG93bi1iZzogd2hpdGU7XG4gIC0taXRpLXNlYXJjaC1pY29uLWNvbG9yOiAjOTk5O1xuICAtLWl0aS1zcGFjZXItaG9yaXpvbnRhbDogOHB4O1xuICAtLWl0aS1mbGFnLWhlaWdodDogMTJweDtcbiAgLS1pdGktZmxhZy13aWR0aDogMTZweDtcbiAgLS1pdGktYm9yZGVyLXdpZHRoOiAxcHg7XG4gIC0taXRpLWFycm93LWhlaWdodDogNHB4O1xuICAtLWl0aS1hcnJvdy13aWR0aDogNnB4O1xuICAtLWl0aS10cmlhbmdsZS1ib3JkZXI6IGNhbGModmFyKC0taXRpLWFycm93LXdpZHRoKSAvIDIpO1xuICAtLWl0aS1hcnJvdy1wYWRkaW5nOiA2cHg7XG4gIC0taXRpLWFycm93LWNvbG9yOiAjNTU1O1xuICAtLWl0aS1wYXRoLWZsYWdzLTF4OiB1cmwoXCIuLi9pbWcvZmxhZ3Mud2VicFwiKTtcbiAgLS1pdGktcGF0aC1mbGFncy0yeDogdXJsKFwiLi4vaW1nL2ZsYWdzQDJ4LndlYnBcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMXg6IHVybChcIi4uL2ltZy9nbG9iZS53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTJ4OiB1cmwoXCIuLi9pbWcvZ2xvYmVAMngud2VicFwiKTtcbiAgLS1pdGktZmxhZy1zcHJpdGUtd2lkdGg6IDM5MDRweDtcbiAgLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0OiAxMnB4O1xuICAtLWl0aS1tb2JpbGUtcG9wdXAtbWFyZ2luOiAzMHB4O1xufVxuXG4uaXRpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uaXRpICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLml0aV9fYTExeS10ZXh0IHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dCxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbltkaXI9cnRsXSAuaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0LFxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbltkaXI9cnRsXSAuaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0W3R5cGU9dGVsXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLml0aV9fY291bnRyeS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktYm9yZGVyLXdpZHRoKTtcbn1cbi5pdGlfX3NlbGVjdGVkLWNvdW50cnkge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5pdGlfX3NlbGVjdGVkLWNvdW50cnktcHJpbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCB2YXIoLS1pdGktYXJyb3ctcGFkZGluZykgMCB2YXIoLS1pdGktc3BhY2VyLWhvcml6b250YWwpO1xufVxuLml0aV9fYXJyb3cge1xuICBtYXJnaW4tbGVmdDogdmFyKC0taXRpLWFycm93LXBhZGRpbmcpO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogdmFyKC0taXRpLXRyaWFuZ2xlLWJvcmRlcikgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogdmFyKC0taXRpLXRyaWFuZ2xlLWJvcmRlcikgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHZhcigtLWl0aS1hcnJvdy1oZWlnaHQpIHNvbGlkIHZhcigtLWl0aS1hcnJvdy1jb2xvcik7XG59XG5bZGlyPXJ0bF0gLml0aV9fYXJyb3cge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uaXRpX19hcnJvdy0tdXAge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1pdGktYXJyb3ctaGVpZ2h0KSBzb2xpZCB2YXIoLS1pdGktYXJyb3ctY29sb3IpO1xufVxuLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXRpLWRyb3Bkb3duLWJnKTtcbn1cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWl0aS1ib3JkZXItd2lkdGgpICogLTEpO1xuICBib3JkZXI6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWl0aS1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uaXRpX19zZWFyY2gtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMjhweDtcbn1cbltkaXI9cnRsXSAuaXRpX19zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IGluaGVyaXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDhweCBjZW50ZXI7XG59XG4uaXRpX19zZWFyY2gtaW5wdXQgKyAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taXRpLWJvcmRlci1jb2xvcik7XG59XG4uaXRpX19zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLml0aV9fc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaXRpX19zZWFyY2gtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbltkaXI9cnRsXSAuaXRpX19zZWFyY2gtaWNvbiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiA4cHg7XG59XG4uaXRpX19zZWFyY2gtaWNvbi1zdmcge1xuICBzdHJva2U6IHZhcigtLWl0aS1zZWFyY2gtaWNvbi1jb2xvcik7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogMztcbn1cbi5pdGlfX3NlYXJjaC1jbGVhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbi5pdGlfX3NlYXJjaC1jbGVhciAuaXRpX19zZWFyY2gtY2xlYXIteCB7XG4gIHN0cm9rZS13aWR0aDogMjtcbn1cbi5pdGlfX3NlYXJjaC1jbGVhciAuaXRpX19zZWFyY2gtY2xlYXItYmcge1xuICBmaWxsOiB2YXIoLS1pdGktc2VhcmNoLWljb24tY29sb3IpO1xufVxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1jbGVhciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA0cHg7XG59XG4uaXRpX19zZWFyY2gtY2xlYXI6aG92ZXIsIC5pdGlfX3NlYXJjaC1jbGVhcjpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5pdGlfX25vLXJlc3VsdHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMwcHggMDtcbn1cbi5pdGlfX2NvdW50cnktbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBtYXgtaGVpZ2h0OiAxODVweDtcbn1cbi5pdGktLWZsZXhpYmxlLWRyb3Bkb3duLXdpZHRoIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4uaXRpX19jb3VudHJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uaXRpX19kaWFsLWNvZGUge1xuICBjb2xvcjogdmFyKC0taXRpLWRpYWxjb2RlLWNvbG9yKTtcbn1cbi5pdGlfX2NvdW50cnkuaXRpX19oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xufVxuLml0aV9fY291bnRyeS1saXN0IC5pdGlfX2ZsYWcsIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cbltkaXI9cnRsXSAuaXRpX19jb3VudHJ5LWxpc3QgLml0aV9fZmxhZywgW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgYnV0dG9uLml0aV9fc2VsZWN0ZWQtY291bnRyeSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnk6aG92ZXIsXG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgLml0aV9fc2VsZWN0ZWQtY291bnRyeTpoYXMoKyAuaXRpX19kcm9wZG93bi1jb250ZW50OmhvdmVyKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xufVxuLml0aSAuaXRpX19zZWxlY3RlZC1kaWFsLWNvZGUge1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuW2Rpcj1ydGxdIC5pdGkgLml0aV9fc2VsZWN0ZWQtZGlhbC1jb2RlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xufVxuLml0aS0tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDAwcHg7XG4gIGxlZnQ6IC0xMDAwcHg7XG4gIHotaW5kZXg6IDEwNjA7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpO1xufVxuLml0aS0tY29udGFpbmVyOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLml0aV9faGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaXRpX192LWhpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAuaXRpLS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktbW9iaWxlLXBvcHVwLW1hcmdpbik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAgLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAgLml0aV9fY291bnRyeSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xufVxuXG4uaXRpX19mbGFnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IDEwMHB4O1xuICBoZWlnaHQ6IHZhcigtLWl0aS1mbGFnLWhlaWdodCk7XG4gIHdpZHRoOiB2YXIoLS1pdGktZmxhZy13aWR0aCk7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMHB4ICM4ODg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWl0aS1wYXRoLWZsYWdzLTF4KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdmFyKC0taXRpLWZsYWctb2Zmc2V0KSAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWl0aS1mbGFnLXNwcml0ZS13aWR0aCkgdmFyKC0taXRpLWZsYWctc3ByaXRlLWhlaWdodCk7XG59XG5cbi5pdGlfX2FjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IDBweDtcbn1cblxuLml0aV9fYWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2cHg7XG59XG5cbi5pdGlfX2FlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMnB4O1xufVxuXG4uaXRpX19hZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDhweDtcbn1cblxuLml0aV9fYWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY0cHg7XG59XG5cbi5pdGlfX2FpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MHB4O1xufVxuXG4uaXRpX19hbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTZweDtcbn1cblxuLml0aV9fYW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMnB4O1xufVxuXG4uaXRpX19hbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI4cHg7XG59XG5cbi5pdGlfX2FyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDRweDtcbn1cblxuLml0aV9fYXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MHB4O1xufVxuXG4uaXRpX19hdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc2cHg7XG59XG5cbi5pdGlfX2F1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTJweDtcbn1cblxuLml0aV9fYXcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwOHB4O1xufVxuXG4uaXRpX19heCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI0cHg7XG59XG5cbi5pdGlfX2F6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDBweDtcbn1cblxuLml0aV9fYmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NnB4O1xufVxuXG4uaXRpX19iYiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjcycHg7XG59XG5cbi5pdGlfX2JkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODhweDtcbn1cblxuLml0aV9fYmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNHB4O1xufVxuXG4uaXRpX19iZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzIwcHg7XG59XG5cbi5pdGlfX2JnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzZweDtcbn1cblxuLml0aV9fYmgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MnB4O1xufVxuXG4uaXRpX19iaSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY4cHg7XG59XG5cbi5pdGlfX2JqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODRweDtcbn1cblxuLml0aV9fYmwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQwMHB4O1xufVxuXG4uaXRpX19ibSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDE2cHg7XG59XG5cbi5pdGlfX2JuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MzJweDtcbn1cblxuLml0aV9fYm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ0OHB4O1xufVxuXG4uaXRpX19icSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDY0cHg7XG59XG5cbi5pdGlfX2JyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00ODBweDtcbn1cblxuLml0aV9fYnMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ5NnB4O1xufVxuXG4uaXRpX19idCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTEycHg7XG59XG5cbi5pdGlfX2J3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01MjhweDtcbn1cblxuLml0aV9fYnkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU0NHB4O1xufVxuXG4uaXRpX19ieiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTYwcHg7XG59XG5cbi5pdGlfX2NhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NzZweDtcbn1cblxuLml0aV9fY2Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU5MnB4O1xufVxuXG4uaXRpX19jZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjA4cHg7XG59XG5cbi5pdGlfX2NmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02MjRweDtcbn1cblxuLml0aV9fY2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY0MHB4O1xufVxuXG4uaXRpX19jaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjU2cHg7XG59XG5cbi5pdGlfX2NpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NzJweDtcbn1cblxuLml0aV9fY2sge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY4OHB4O1xufVxuXG4uaXRpX19jbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzA0cHg7XG59XG5cbi5pdGlfX2NtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MjBweDtcbn1cblxuLml0aV9fY24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTczNnB4O1xufVxuXG4uaXRpX19jbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzUycHg7XG59XG5cbi5pdGlfX2NyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03NjhweDtcbn1cblxuLml0aV9fY3Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc4NHB4O1xufVxuXG4uaXRpX19jdiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODAwcHg7XG59XG5cbi5pdGlfX2N3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MTZweDtcbn1cblxuLml0aV9fY3gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgzMnB4O1xufVxuXG4uaXRpX19jeSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODQ4cHg7XG59XG5cbi5pdGlfX2N6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04NjRweDtcbn1cblxuLml0aV9fZGUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg4MHB4O1xufVxuXG4uaXRpX19kaiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODk2cHg7XG59XG5cbi5pdGlfX2RrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05MTJweDtcbn1cblxuLml0aV9fZG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTkyOHB4O1xufVxuXG4uaXRpX19kbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTQ0cHg7XG59XG5cbi5pdGlfX2R6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NjBweDtcbn1cblxuLml0aV9fZWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk3NnB4O1xufVxuXG4uaXRpX19lZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTkycHg7XG59XG5cbi5pdGlfX2VnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDA4cHg7XG59XG5cbi5pdGlfX2VoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDI0cHg7XG59XG5cbi5pdGlfX2VyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDQwcHg7XG59XG5cbi5pdGlfX2VzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDU2cHg7XG59XG5cbi5pdGlfX2V0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDcycHg7XG59XG5cbi5pdGlfX2ZpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDg4cHg7XG59XG5cbi5pdGlfX2ZqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTA0cHg7XG59XG5cbi5pdGlfX2ZrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTIwcHg7XG59XG5cbi5pdGlfX2ZtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTM2cHg7XG59XG5cbi5pdGlfX2ZvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTUycHg7XG59XG5cbi5pdGlfX2ZyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTY4cHg7XG59XG5cbi5pdGlfX2dhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTg0cHg7XG59XG5cbi5pdGlfX2diIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjAwcHg7XG59XG5cbi5pdGlfX2dkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjE2cHg7XG59XG5cbi5pdGlfX2dlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjMycHg7XG59XG5cbi5pdGlfX2dmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjQ4cHg7XG59XG5cbi5pdGlfX2dnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjY0cHg7XG59XG5cbi5pdGlfX2doIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjgwcHg7XG59XG5cbi5pdGlfX2dpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjk2cHg7XG59XG5cbi5pdGlfX2dsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzEycHg7XG59XG5cbi5pdGlfX2dtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzI4cHg7XG59XG5cbi5pdGlfX2duIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzQ0cHg7XG59XG5cbi5pdGlfX2dwIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzYwcHg7XG59XG5cbi5pdGlfX2dxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzc2cHg7XG59XG5cbi5pdGlfX2dyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzkycHg7XG59XG5cbi5pdGlfX2d0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDA4cHg7XG59XG5cbi5pdGlfX2d1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDI0cHg7XG59XG5cbi5pdGlfX2d3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDQwcHg7XG59XG5cbi5pdGlfX2d5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDU2cHg7XG59XG5cbi5pdGlfX2hrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDcycHg7XG59XG5cbi5pdGlfX2huIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDg4cHg7XG59XG5cbi5pdGlfX2hyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTA0cHg7XG59XG5cbi5pdGlfX2h0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTIwcHg7XG59XG5cbi5pdGlfX2h1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTM2cHg7XG59XG5cbi5pdGlfX2lkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTUycHg7XG59XG5cbi5pdGlfX2llIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTY4cHg7XG59XG5cbi5pdGlfX2lsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTg0cHg7XG59XG5cbi5pdGlfX2ltIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjAwcHg7XG59XG5cbi5pdGlfX2luIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjE2cHg7XG59XG5cbi5pdGlfX2lvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjMycHg7XG59XG5cbi5pdGlfX2lxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjQ4cHg7XG59XG5cbi5pdGlfX2lyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjY0cHg7XG59XG5cbi5pdGlfX2lzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjgwcHg7XG59XG5cbi5pdGlfX2l0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjk2cHg7XG59XG5cbi5pdGlfX2plIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzEycHg7XG59XG5cbi5pdGlfX2ptIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzI4cHg7XG59XG5cbi5pdGlfX2pvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzQ0cHg7XG59XG5cbi5pdGlfX2pwIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzYwcHg7XG59XG5cbi5pdGlfX2tlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzc2cHg7XG59XG5cbi5pdGlfX2tnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzkycHg7XG59XG5cbi5pdGlfX2toIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODA4cHg7XG59XG5cbi5pdGlfX2tpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODI0cHg7XG59XG5cbi5pdGlfX2ttIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODQwcHg7XG59XG5cbi5pdGlfX2tuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODU2cHg7XG59XG5cbi5pdGlfX2twIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODcycHg7XG59XG5cbi5pdGlfX2tyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODg4cHg7XG59XG5cbi5pdGlfX2t3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTA0cHg7XG59XG5cbi5pdGlfX2t5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTIwcHg7XG59XG5cbi5pdGlfX2t6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTM2cHg7XG59XG5cbi5pdGlfX2xhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTUycHg7XG59XG5cbi5pdGlfX2xiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTY4cHg7XG59XG5cbi5pdGlfX2xjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTg0cHg7XG59XG5cbi5pdGlfX2xpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDAwcHg7XG59XG5cbi5pdGlfX2xrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDE2cHg7XG59XG5cbi5pdGlfX2xyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDMycHg7XG59XG5cbi5pdGlfX2xzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDQ4cHg7XG59XG5cbi5pdGlfX2x0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDY0cHg7XG59XG5cbi5pdGlfX2x1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDgwcHg7XG59XG5cbi5pdGlfX2x2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDk2cHg7XG59XG5cbi5pdGlfX2x5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTEycHg7XG59XG5cbi5pdGlfX21hIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTI4cHg7XG59XG5cbi5pdGlfX21jIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTQ0cHg7XG59XG5cbi5pdGlfX21kIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTYwcHg7XG59XG5cbi5pdGlfX21lIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTc2cHg7XG59XG5cbi5pdGlfX21mIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTkycHg7XG59XG5cbi5pdGlfX21nIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjA4cHg7XG59XG5cbi5pdGlfX21oIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjI0cHg7XG59XG5cbi5pdGlfX21rIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjQwcHg7XG59XG5cbi5pdGlfX21sIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjU2cHg7XG59XG5cbi5pdGlfX21tIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjcycHg7XG59XG5cbi5pdGlfX21uIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjg4cHg7XG59XG5cbi5pdGlfX21vIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzA0cHg7XG59XG5cbi5pdGlfX21wIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzIwcHg7XG59XG5cbi5pdGlfX21xIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzM2cHg7XG59XG5cbi5pdGlfX21yIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzUycHg7XG59XG5cbi5pdGlfX21zIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzY4cHg7XG59XG5cbi5pdGlfX210IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzg0cHg7XG59XG5cbi5pdGlfX211IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDAwcHg7XG59XG5cbi5pdGlfX212IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDE2cHg7XG59XG5cbi5pdGlfX213IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDMycHg7XG59XG5cbi5pdGlfX214IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDQ4cHg7XG59XG5cbi5pdGlfX215IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDY0cHg7XG59XG5cbi5pdGlfX216IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDgwcHg7XG59XG5cbi5pdGlfX25hIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDk2cHg7XG59XG5cbi5pdGlfX25jIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTEycHg7XG59XG5cbi5pdGlfX25lIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTI4cHg7XG59XG5cbi5pdGlfX25mIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTQ0cHg7XG59XG5cbi5pdGlfX25nIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTYwcHg7XG59XG5cbi5pdGlfX25pIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTc2cHg7XG59XG5cbi5pdGlfX25sIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTkycHg7XG59XG5cbi5pdGlfX25vIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjA4cHg7XG59XG5cbi5pdGlfX25wIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjI0cHg7XG59XG5cbi5pdGlfX25yIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjQwcHg7XG59XG5cbi5pdGlfX251IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjU2cHg7XG59XG5cbi5pdGlfX256IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjcycHg7XG59XG5cbi5pdGlfX29tIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjg4cHg7XG59XG5cbi5pdGlfX3BhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzA0cHg7XG59XG5cbi5pdGlfX3BlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzIwcHg7XG59XG5cbi5pdGlfX3BmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzM2cHg7XG59XG5cbi5pdGlfX3BnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzUycHg7XG59XG5cbi5pdGlfX3BoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzY4cHg7XG59XG5cbi5pdGlfX3BrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzg0cHg7XG59XG5cbi5pdGlfX3BsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODAwcHg7XG59XG5cbi5pdGlfX3BtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODE2cHg7XG59XG5cbi5pdGlfX3ByIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODMycHg7XG59XG5cbi5pdGlfX3BzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODQ4cHg7XG59XG5cbi5pdGlfX3B0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODY0cHg7XG59XG5cbi5pdGlfX3B3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODgwcHg7XG59XG5cbi5pdGlfX3B5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODk2cHg7XG59XG5cbi5pdGlfX3FhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTEycHg7XG59XG5cbi5pdGlfX3JlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTI4cHg7XG59XG5cbi5pdGlfX3JvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTQ0cHg7XG59XG5cbi5pdGlfX3JzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTYwcHg7XG59XG5cbi5pdGlfX3J1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTc2cHg7XG59XG5cbi5pdGlfX3J3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTkycHg7XG59XG5cbi5pdGlfX3NhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDA4cHg7XG59XG5cbi5pdGlfX3NiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDI0cHg7XG59XG5cbi5pdGlfX3NjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDQwcHg7XG59XG5cbi5pdGlfX3NkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDU2cHg7XG59XG5cbi5pdGlfX3NlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDcycHg7XG59XG5cbi5pdGlfX3NnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDg4cHg7XG59XG5cbi5pdGlfX3NoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTA0cHg7XG59XG5cbi5pdGlfX3NpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTIwcHg7XG59XG5cbi5pdGlfX3NqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTM2cHg7XG59XG5cbi5pdGlfX3NrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTUycHg7XG59XG5cbi5pdGlfX3NsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTY4cHg7XG59XG5cbi5pdGlfX3NtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTg0cHg7XG59XG5cbi5pdGlfX3NuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjAwcHg7XG59XG5cbi5pdGlfX3NvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjE2cHg7XG59XG5cbi5pdGlfX3NyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjMycHg7XG59XG5cbi5pdGlfX3NzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjQ4cHg7XG59XG5cbi5pdGlfX3N0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjY0cHg7XG59XG5cbi5pdGlfX3N2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjgwcHg7XG59XG5cbi5pdGlfX3N4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjk2cHg7XG59XG5cbi5pdGlfX3N5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzEycHg7XG59XG5cbi5pdGlfX3N6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzI4cHg7XG59XG5cbi5pdGlfX3RjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzQ0cHg7XG59XG5cbi5pdGlfX3RkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzYwcHg7XG59XG5cbi5pdGlfX3RnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzc2cHg7XG59XG5cbi5pdGlfX3RoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzkycHg7XG59XG5cbi5pdGlfX3RqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDA4cHg7XG59XG5cbi5pdGlfX3RrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDI0cHg7XG59XG5cbi5pdGlfX3RsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDQwcHg7XG59XG5cbi5pdGlfX3RtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDU2cHg7XG59XG5cbi5pdGlfX3RuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDcycHg7XG59XG5cbi5pdGlfX3RvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDg4cHg7XG59XG5cbi5pdGlfX3RyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTA0cHg7XG59XG5cbi5pdGlfX3R0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTIwcHg7XG59XG5cbi5pdGlfX3R2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTM2cHg7XG59XG5cbi5pdGlfX3R3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTUycHg7XG59XG5cbi5pdGlfX3R6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTY4cHg7XG59XG5cbi5pdGlfX3VhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTg0cHg7XG59XG5cbi5pdGlfX3VnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjAwcHg7XG59XG5cbi5pdGlfX3VzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjE2cHg7XG59XG5cbi5pdGlfX3V5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjMycHg7XG59XG5cbi5pdGlfX3V6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjQ4cHg7XG59XG5cbi5pdGlfX3ZhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjY0cHg7XG59XG5cbi5pdGlfX3ZjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjgwcHg7XG59XG5cbi5pdGlfX3ZlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjk2cHg7XG59XG5cbi5pdGlfX3ZnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzEycHg7XG59XG5cbi5pdGlfX3ZpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzI4cHg7XG59XG5cbi5pdGlfX3ZuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzQ0cHg7XG59XG5cbi5pdGlfX3Z1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzYwcHg7XG59XG5cbi5pdGlfX3dmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzc2cHg7XG59XG5cbi5pdGlfX3dzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzkycHg7XG59XG5cbi5pdGlfX3hrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODA4cHg7XG59XG5cbi5pdGlfX3llIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODI0cHg7XG59XG5cbi5pdGlfX3l0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODQwcHg7XG59XG5cbi5pdGlfX3phIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODU2cHg7XG59XG5cbi5pdGlfX3ptIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODcycHg7XG59XG5cbi5pdGlfX3p3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODg4cHg7XG59XG5cbi5pdGlfX2dsb2JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZ2xvYmUtMXgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICBib3gtc2hhZG93OiBub25lO1xuICBoZWlnaHQ6IDE5cHg7XG59XG5cbkBtZWRpYSAobWluLXJlc29sdXRpb246IDJ4KSB7XG4gIC5pdGlfX2ZsYWcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWl0aS1wYXRoLWZsYWdzLTJ4KTtcbiAgfVxuICAuaXRpX19nbG9iZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZ2xvYmUtMngpO1xuICB9XG59IiwiQGxheWVyIHJlc2V0O1xuQGxheWVyIGJhc2U7XG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuOnJvb3Qge1xuICAtLWl0aS1ob3Zlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgLS1pdGktYm9yZGVyLWNvbG9yOiAjY2NjO1xuICAtLWl0aS1kaWFsY29kZS1jb2xvcjogIzk5OTtcbiAgLS1pdGktZHJvcGRvd24tYmc6IHdoaXRlO1xuICAtLWl0aS1zZWFyY2gtaWNvbi1jb2xvcjogIzk5OTtcbiAgLS1pdGktc3BhY2VyLWhvcml6b250YWw6IDhweDtcbiAgLS1pdGktZmxhZy1oZWlnaHQ6IDEycHg7XG4gIC0taXRpLWZsYWctd2lkdGg6IDE2cHg7XG4gIC0taXRpLWJvcmRlci13aWR0aDogMXB4O1xuICAtLWl0aS1hcnJvdy1oZWlnaHQ6IDRweDtcbiAgLS1pdGktYXJyb3ctd2lkdGg6IDZweDtcbiAgLS1pdGktdHJpYW5nbGUtYm9yZGVyOiBjYWxjKHZhcigtLWl0aS1hcnJvdy13aWR0aCkgLyAyKTtcbiAgLS1pdGktYXJyb3ctcGFkZGluZzogNnB4O1xuICAtLWl0aS1hcnJvdy1jb2xvcjogIzU1NTtcbiAgLS1pdGktcGF0aC1mbGFncy0xeDogdXJsKFwiLi4vaW1nL2ZsYWdzLndlYnBcIik7XG4gIC0taXRpLXBhdGgtZmxhZ3MtMng6IHVybChcIi4uL2ltZy9mbGFnc0AyeC53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTF4OiB1cmwoXCIuLi9pbWcvZ2xvYmUud2VicFwiKTtcbiAgLS1pdGktcGF0aC1nbG9iZS0yeDogdXJsKFwiLi4vaW1nL2dsb2JlQDJ4LndlYnBcIik7XG4gIC0taXRpLWZsYWctc3ByaXRlLXdpZHRoOiAzOTA0cHg7XG4gIC0taXRpLWZsYWctc3ByaXRlLWhlaWdodDogMTJweDtcbiAgLS1pdGktbW9iaWxlLXBvcHVwLW1hcmdpbjogMzBweDtcbn1cblxuLml0aSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaXRpICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaXRpX19hMTF5LXRleHQge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXQsXG4uaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0W3R5cGU9dGV4dF0sXG4uaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0W3R5cGU9dGVsXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbltkaXI9cnRsXSAuaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0LFxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbltkaXI9cnRsXSAuaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0W3R5cGU9dGVsXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uaXRpX19jb3VudHJ5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpO1xufVxuXG4uaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5pdGlfX3NlbGVjdGVkLWNvdW50cnktcHJpbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCB2YXIoLS1pdGktYXJyb3ctcGFkZGluZykgMCB2YXIoLS1pdGktc3BhY2VyLWhvcml6b250YWwpO1xufVxuXG4uaXRpX19hcnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1pdGktYXJyb3ctcGFkZGluZyk7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiB2YXIoLS1pdGktdHJpYW5nbGUtYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1pdGktdHJpYW5nbGUtYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogdmFyKC0taXRpLWFycm93LWhlaWdodCkgc29saWQgdmFyKC0taXRpLWFycm93LWNvbG9yKTtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX2Fycm93IHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1pdGktYXJyb3ctcGFkZGluZyk7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uaXRpX19hcnJvdy0tdXAge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1pdGktYXJyb3ctaGVpZ2h0KSBzb2xpZCB2YXIoLS1pdGktYXJyb3ctY29sb3IpO1xufVxuXG4uaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktZHJvcGRvd24tYmcpO1xufVxuXG4uaXRpLS1pbmxpbmUtZHJvcGRvd24gLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luLXRvcDogM3B4O1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1pdGktYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgYm9yZGVyOiB2YXIoLS1pdGktYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1pdGktYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uaXRpX19zZWFyY2gtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMjhweDtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogaW5oZXJpdDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgOHB4IGNlbnRlcjtcbn1cblxuLml0aV9fc2VhcmNoLWlucHV0ICsgLml0aV9fY291bnRyeS1saXN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWl0aS1ib3JkZXItY29sb3IpO1xufVxuXG4uaXRpX19zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4uaXRpX19zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLml0aV9fc2VhcmNoLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkaXI9cnRsXSAuaXRpX19zZWFyY2gtaWNvbiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiA4cHg7XG59XG5cbi5pdGlfX3NlYXJjaC1pY29uLXN2ZyB7XG4gIHN0cm9rZTogdmFyKC0taXRpLXNlYXJjaC1pY29uLWNvbG9yKTtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAzO1xufVxuXG4uaXRpX19zZWFyY2gtY2xlYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi5pdGlfX3NlYXJjaC1jbGVhciAuaXRpX19zZWFyY2gtY2xlYXIteCB7XG4gIHN0cm9rZS13aWR0aDogMjtcbn1cblxuLml0aV9fc2VhcmNoLWNsZWFyIC5pdGlfX3NlYXJjaC1jbGVhci1iZyB7XG4gIGZpbGw6IHZhcigtLWl0aS1zZWFyY2gtaWNvbi1jb2xvcik7XG59XG5cbltkaXI9cnRsXSAuaXRpX19zZWFyY2gtY2xlYXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNHB4O1xufVxuXG4uaXRpX19zZWFyY2gtY2xlYXI6aG92ZXIsIC5pdGlfX3NlYXJjaC1jbGVhcjpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLml0aV9fbm8tcmVzdWx0cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuXG4uaXRpX19jb3VudHJ5LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBtYXgtaGVpZ2h0OiAxODVweDtcbn1cblxuLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5pdGktLWZsZXhpYmxlLWRyb3Bkb3duLXdpZHRoIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuLml0aV9fY291bnRyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDhweCB2YXIoLS1pdGktc3BhY2VyLWhvcml6b250YWwpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaXRpX19kaWFsLWNvZGUge1xuICBjb2xvcjogdmFyKC0taXRpLWRpYWxjb2RlLWNvbG9yKTtcbn1cblxuLml0aV9fY291bnRyeS5pdGlfX2hpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1ob3Zlci1jb2xvcik7XG59XG5cbi5pdGlfX2NvdW50cnktbGlzdCAuaXRpX19mbGFnLCAuaXRpX19jb3VudHJ5LW5hbWUge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG5cbltkaXI9cnRsXSAuaXRpX19jb3VudHJ5LWxpc3QgLml0aV9fZmxhZywgW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG5cbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSBidXR0b24uaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5OmhvdmVyLFxuLml0aS0tYWxsb3ctZHJvcGRvd24gLml0aV9fY291bnRyeS1jb250YWluZXI6bm90KDpoYXMoKyBpbnB1dFtkaXNhYmxlZF0pKTpub3QoOmhhcygrIGlucHV0W3JlYWRvbmx5XSkpIC5pdGlfX3NlbGVjdGVkLWNvdW50cnk6aGFzKCsgLml0aV9fZHJvcGRvd24tY29udGVudDpob3ZlcikgLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbn1cblxuLml0aSAuaXRpX19zZWxlY3RlZC1kaWFsLWNvZGUge1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuXG5bZGlyPXJ0bF0gLml0aSAuaXRpX19zZWxlY3RlZC1kaWFsLWNvZGUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi5pdGktLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwMHB4O1xuICBsZWZ0OiAtMTAwMHB4O1xuICB6LWluZGV4OiAxMDYwO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktYm9yZGVyLXdpZHRoKTtcbn1cblxuLml0aS0tY29udGFpbmVyOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaXRpX19oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLml0aV9fdi1oaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uaXRpLS1mdWxsc2NyZWVuLXBvcHVwLml0aS0tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogdmFyKC0taXRpLW1vYmlsZS1wb3B1cC1tYXJnaW4pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAgLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19jb3VudHJ5IHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5pdGlfX2ZsYWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMTAwcHg7XG4gIGhlaWdodDogdmFyKC0taXRpLWZsYWctaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLWl0aS1mbGFnLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAwcHggIzg4ODtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMXgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1pdGktZmxhZy1vZmZzZXQpIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0taXRpLWZsYWctc3ByaXRlLXdpZHRoKSB2YXIoLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0KTtcbn1cblxuLml0aV9fYWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMHB4O1xufVxuXG4uaXRpX19hZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTZweDtcbn1cblxuLml0aV9fYWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMycHg7XG59XG5cbi5pdGlfX2FmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00OHB4O1xufVxuXG4uaXRpX19hZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjRweDtcbn1cblxuLml0aV9fYWkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgwcHg7XG59XG5cbi5pdGlfX2FsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NnB4O1xufVxuXG4uaXRpX19hbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEycHg7XG59XG5cbi5pdGlfX2FvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjhweDtcbn1cblxuLml0aV9fYXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NHB4O1xufVxuXG4uaXRpX19hcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYwcHg7XG59XG5cbi5pdGlfX2F0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzZweDtcbn1cblxuLml0aV9fYXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MnB4O1xufVxuXG4uaXRpX19hdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA4cHg7XG59XG5cbi5pdGlfX2F4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjRweDtcbn1cblxuLml0aV9fYXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MHB4O1xufVxuXG4uaXRpX19iYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU2cHg7XG59XG5cbi5pdGlfX2JiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzJweDtcbn1cblxuLml0aV9fYmQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OHB4O1xufVxuXG4uaXRpX19iZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA0cHg7XG59XG5cbi5pdGlfX2JmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjBweDtcbn1cblxuLml0aV9fYmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNnB4O1xufVxuXG4uaXRpX19iaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUycHg7XG59XG5cbi5pdGlfX2JpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjhweDtcbn1cblxuLml0aV9fYmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NHB4O1xufVxuXG4uaXRpX19ibCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDAwcHg7XG59XG5cbi5pdGlfX2JtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MTZweDtcbn1cblxuLml0aV9fYm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQzMnB4O1xufVxuXG4uaXRpX19ibyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDQ4cHg7XG59XG5cbi5pdGlfX2JxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00NjRweDtcbn1cblxuLml0aV9fYnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ4MHB4O1xufVxuXG4uaXRpX19icyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDk2cHg7XG59XG5cbi5pdGlfX2J0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01MTJweDtcbn1cblxuLml0aV9fYncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTUyOHB4O1xufVxuXG4uaXRpX19ieSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTQ0cHg7XG59XG5cbi5pdGlfX2J6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NjBweDtcbn1cblxuLml0aV9fY2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU3NnB4O1xufVxuXG4uaXRpX19jYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTkycHg7XG59XG5cbi5pdGlfX2NkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02MDhweDtcbn1cblxuLml0aV9fY2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTYyNHB4O1xufVxuXG4uaXRpX19jZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjQwcHg7XG59XG5cbi5pdGlfX2NoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NTZweDtcbn1cblxuLml0aV9fY2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY3MnB4O1xufVxuXG4uaXRpX19jayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjg4cHg7XG59XG5cbi5pdGlfX2NsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MDRweDtcbn1cblxuLml0aV9fY20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTcyMHB4O1xufVxuXG4uaXRpX19jbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzM2cHg7XG59XG5cbi5pdGlfX2NvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03NTJweDtcbn1cblxuLml0aV9fY3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc2OHB4O1xufVxuXG4uaXRpX19jdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzg0cHg7XG59XG5cbi5pdGlfX2N2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MDBweDtcbn1cblxuLml0aV9fY3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgxNnB4O1xufVxuXG4uaXRpX19jeCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODMycHg7XG59XG5cbi5pdGlfX2N5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04NDhweDtcbn1cblxuLml0aV9fY3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg2NHB4O1xufVxuXG4uaXRpX19kZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODgwcHg7XG59XG5cbi5pdGlfX2RqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04OTZweDtcbn1cblxuLml0aV9fZGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTkxMnB4O1xufVxuXG4uaXRpX19kbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTI4cHg7XG59XG5cbi5pdGlfX2RvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NDRweDtcbn1cblxuLml0aV9fZHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk2MHB4O1xufVxuXG4uaXRpX19lYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTc2cHg7XG59XG5cbi5pdGlfX2VlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05OTJweDtcbn1cblxuLml0aV9fZWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMDhweDtcbn1cblxuLml0aV9fZWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMjRweDtcbn1cblxuLml0aV9fZXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNDBweDtcbn1cblxuLml0aV9fZXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNTZweDtcbn1cblxuLml0aV9fZXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNzJweDtcbn1cblxuLml0aV9fZmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwODhweDtcbn1cblxuLml0aV9fZmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMDRweDtcbn1cblxuLml0aV9fZmsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMjBweDtcbn1cblxuLml0aV9fZm0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMzZweDtcbn1cblxuLml0aV9fZm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNTJweDtcbn1cblxuLml0aV9fZnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNjhweDtcbn1cblxuLml0aV9fZ2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExODRweDtcbn1cblxuLml0aV9fZ2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMDBweDtcbn1cblxuLml0aV9fZ2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMTZweDtcbn1cblxuLml0aV9fZ2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMzJweDtcbn1cblxuLml0aV9fZ2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNDhweDtcbn1cblxuLml0aV9fZ2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNjRweDtcbn1cblxuLml0aV9fZ2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyODBweDtcbn1cblxuLml0aV9fZ2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyOTZweDtcbn1cblxuLml0aV9fZ2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMTJweDtcbn1cblxuLml0aV9fZ20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMjhweDtcbn1cblxuLml0aV9fZ24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNDRweDtcbn1cblxuLml0aV9fZ3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNjBweDtcbn1cblxuLml0aV9fZ3Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNzZweDtcbn1cblxuLml0aV9fZ3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzOTJweDtcbn1cblxuLml0aV9fZ3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MDhweDtcbn1cblxuLml0aV9fZ3Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MjRweDtcbn1cblxuLml0aV9fZ3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NDBweDtcbn1cblxuLml0aV9fZ3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NTZweDtcbn1cblxuLml0aV9faGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NzJweDtcbn1cblxuLml0aV9faG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0ODhweDtcbn1cblxuLml0aV9faHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MDRweDtcbn1cblxuLml0aV9faHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MjBweDtcbn1cblxuLml0aV9faHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MzZweDtcbn1cblxuLml0aV9faWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NTJweDtcbn1cblxuLml0aV9faWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NjhweDtcbn1cblxuLml0aV9faWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1ODRweDtcbn1cblxuLml0aV9faW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MDBweDtcbn1cblxuLml0aV9faW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MTZweDtcbn1cblxuLml0aV9faW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MzJweDtcbn1cblxuLml0aV9faXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NDhweDtcbn1cblxuLml0aV9faXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NjRweDtcbn1cblxuLml0aV9faXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2ODBweDtcbn1cblxuLml0aV9faXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2OTZweDtcbn1cblxuLml0aV9famUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MTJweDtcbn1cblxuLml0aV9fam0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MjhweDtcbn1cblxuLml0aV9fam8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NDRweDtcbn1cblxuLml0aV9fanAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NjBweDtcbn1cblxuLml0aV9fa2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NzZweDtcbn1cblxuLml0aV9fa2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3OTJweDtcbn1cblxuLml0aV9fa2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MDhweDtcbn1cblxuLml0aV9fa2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MjRweDtcbn1cblxuLml0aV9fa20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NDBweDtcbn1cblxuLml0aV9fa24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NTZweDtcbn1cblxuLml0aV9fa3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NzJweDtcbn1cblxuLml0aV9fa3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4ODhweDtcbn1cblxuLml0aV9fa3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MDRweDtcbn1cblxuLml0aV9fa3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MjBweDtcbn1cblxuLml0aV9fa3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MzZweDtcbn1cblxuLml0aV9fbGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NTJweDtcbn1cblxuLml0aV9fbGIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NjhweDtcbn1cblxuLml0aV9fbGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5ODRweDtcbn1cblxuLml0aV9fbGkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMDBweDtcbn1cblxuLml0aV9fbGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMTZweDtcbn1cblxuLml0aV9fbHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMzJweDtcbn1cblxuLml0aV9fbHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNDhweDtcbn1cblxuLml0aV9fbHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNjRweDtcbn1cblxuLml0aV9fbHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwODBweDtcbn1cblxuLml0aV9fbHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwOTZweDtcbn1cblxuLml0aV9fbHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMTJweDtcbn1cblxuLml0aV9fbWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMjhweDtcbn1cblxuLml0aV9fbWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNDRweDtcbn1cblxuLml0aV9fbWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNjBweDtcbn1cblxuLml0aV9fbWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNzZweDtcbn1cblxuLml0aV9fbWYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxOTJweDtcbn1cblxuLml0aV9fbWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMDhweDtcbn1cblxuLml0aV9fbWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMjRweDtcbn1cblxuLml0aV9fbWsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNDBweDtcbn1cblxuLml0aV9fbWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNTZweDtcbn1cblxuLml0aV9fbW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNzJweDtcbn1cblxuLml0aV9fbW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyODhweDtcbn1cblxuLml0aV9fbW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMDRweDtcbn1cblxuLml0aV9fbXAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMjBweDtcbn1cblxuLml0aV9fbXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMzZweDtcbn1cblxuLml0aV9fbXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNTJweDtcbn1cblxuLml0aV9fbXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNjhweDtcbn1cblxuLml0aV9fbXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzODRweDtcbn1cblxuLml0aV9fbXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MDBweDtcbn1cblxuLml0aV9fbXYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MTZweDtcbn1cblxuLml0aV9fbXcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MzJweDtcbn1cblxuLml0aV9fbXgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NDhweDtcbn1cblxuLml0aV9fbXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NjRweDtcbn1cblxuLml0aV9fbXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0ODBweDtcbn1cblxuLml0aV9fbmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0OTZweDtcbn1cblxuLml0aV9fbmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MTJweDtcbn1cblxuLml0aV9fbmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MjhweDtcbn1cblxuLml0aV9fbmYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NDRweDtcbn1cblxuLml0aV9fbmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NjBweDtcbn1cblxuLml0aV9fbmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NzZweDtcbn1cblxuLml0aV9fbmwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1OTJweDtcbn1cblxuLml0aV9fbm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MDhweDtcbn1cblxuLml0aV9fbnAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MjRweDtcbn1cblxuLml0aV9fbnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NDBweDtcbn1cblxuLml0aV9fbnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NTZweDtcbn1cblxuLml0aV9fbnoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NzJweDtcbn1cblxuLml0aV9fb20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2ODhweDtcbn1cblxuLml0aV9fcGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MDRweDtcbn1cblxuLml0aV9fcGUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MjBweDtcbn1cblxuLml0aV9fcGYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MzZweDtcbn1cblxuLml0aV9fcGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NTJweDtcbn1cblxuLml0aV9fcGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NjhweDtcbn1cblxuLml0aV9fcGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3ODRweDtcbn1cblxuLml0aV9fcGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MDBweDtcbn1cblxuLml0aV9fcG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MTZweDtcbn1cblxuLml0aV9fcHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MzJweDtcbn1cblxuLml0aV9fcHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NDhweDtcbn1cblxuLml0aV9fcHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NjRweDtcbn1cblxuLml0aV9fcHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4ODBweDtcbn1cblxuLml0aV9fcHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OTZweDtcbn1cblxuLml0aV9fcWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MTJweDtcbn1cblxuLml0aV9fcmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MjhweDtcbn1cblxuLml0aV9fcm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NDRweDtcbn1cblxuLml0aV9fcnMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NjBweDtcbn1cblxuLml0aV9fcnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NzZweDtcbn1cblxuLml0aV9fcncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5OTJweDtcbn1cblxuLml0aV9fc2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMDhweDtcbn1cblxuLml0aV9fc2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMjRweDtcbn1cblxuLml0aV9fc2Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNDBweDtcbn1cblxuLml0aV9fc2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNTZweDtcbn1cblxuLml0aV9fc2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNzJweDtcbn1cblxuLml0aV9fc2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwODhweDtcbn1cblxuLml0aV9fc2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMDRweDtcbn1cblxuLml0aV9fc2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMjBweDtcbn1cblxuLml0aV9fc2oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMzZweDtcbn1cblxuLml0aV9fc2sge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNTJweDtcbn1cblxuLml0aV9fc2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNjhweDtcbn1cblxuLml0aV9fc20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxODRweDtcbn1cblxuLml0aV9fc24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMDBweDtcbn1cblxuLml0aV9fc28ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMTZweDtcbn1cblxuLml0aV9fc3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMzJweDtcbn1cblxuLml0aV9fc3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNDhweDtcbn1cblxuLml0aV9fc3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNjRweDtcbn1cblxuLml0aV9fc3Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyODBweDtcbn1cblxuLml0aV9fc3gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyOTZweDtcbn1cblxuLml0aV9fc3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMTJweDtcbn1cblxuLml0aV9fc3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMjhweDtcbn1cblxuLml0aV9fdGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNDRweDtcbn1cblxuLml0aV9fdGQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNjBweDtcbn1cblxuLml0aV9fdGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNzZweDtcbn1cblxuLml0aV9fdGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzOTJweDtcbn1cblxuLml0aV9fdGoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MDhweDtcbn1cblxuLml0aV9fdGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MjRweDtcbn1cblxuLml0aV9fdGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NDBweDtcbn1cblxuLml0aV9fdG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NTZweDtcbn1cblxuLml0aV9fdG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NzJweDtcbn1cblxuLml0aV9fdG8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0ODhweDtcbn1cblxuLml0aV9fdHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MDRweDtcbn1cblxuLml0aV9fdHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MjBweDtcbn1cblxuLml0aV9fdHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MzZweDtcbn1cblxuLml0aV9fdHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NTJweDtcbn1cblxuLml0aV9fdHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NjhweDtcbn1cblxuLml0aV9fdWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1ODRweDtcbn1cblxuLml0aV9fdWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MDBweDtcbn1cblxuLml0aV9fdXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MTZweDtcbn1cblxuLml0aV9fdXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MzJweDtcbn1cblxuLml0aV9fdXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NDhweDtcbn1cblxuLml0aV9fdmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NjRweDtcbn1cblxuLml0aV9fdmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2ODBweDtcbn1cblxuLml0aV9fdmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2OTZweDtcbn1cblxuLml0aV9fdmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MTJweDtcbn1cblxuLml0aV9fdmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MjhweDtcbn1cblxuLml0aV9fdm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NDRweDtcbn1cblxuLml0aV9fdnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NjBweDtcbn1cblxuLml0aV9fd2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NzZweDtcbn1cblxuLml0aV9fd3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3OTJweDtcbn1cblxuLml0aV9feGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MDhweDtcbn1cblxuLml0aV9feWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MjRweDtcbn1cblxuLml0aV9feXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NDBweDtcbn1cblxuLml0aV9femEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NTZweDtcbn1cblxuLml0aV9fem0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NzJweDtcbn1cblxuLml0aV9fencge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4ODhweDtcbn1cblxuLml0aV9fZ2xvYmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0xeCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGhlaWdodDogMTlweDtcbn1cblxuQG1lZGlhIChtaW4tcmVzb2x1dGlvbjogMngpIHtcbiAgLml0aV9fZmxhZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMngpO1xuICB9XG4gIC5pdGlfX2dsb2JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0yeCk7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qLS0tVEVYVCBBTkQgRk9OVC0tLSovXG4vKi0tLUJBQ0tHUk9VTkQtLS0qL1xuLyotLS1QT1NJVElPTklORy0tLSovXG4vKi0tLUNPTlRFTlQtLS0qL1xuLyotLS1MSVNUUy0tLSovXG4vKi0tLUJPUkRFUiBBUlJPV1MtLS0qL1xuLyoqRm9ybXMqKi9cbi8qKiBERUZBVUxUIE9WRVJSSURFUyAqKi9cbkBsYXllciByZXNldCB7XG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgaHRtbCB7XG4gICAgbWluLWhlaWdodDogMTAwZHZoO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgfVxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIGFydGljbGUgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICB9XG4gIGlucHV0LFxuICBidXR0b24sXG4gIHRleHRhcmVhLFxuICBzZWxlY3Qge1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gIH1cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIHAge1xuICAgIG1hcmdpbjogMC4zNWVtIDAgMC43NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1ZW07XG4gIH1cbiAgb2wsXG4gIHVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMC40ZW0gMCAwLjc1ZW07XG4gIH1cbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgfVxuICBidXR0b24ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgaWZyYW1lIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1saW5rKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW5rLWNvbnRyYXN0KTtcbiAgICBwYWRkaW5nLWlubGluZTogMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5rKTtcbiAgICB0cmFuc2l0aW9uOiAwLjE1cztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG4gIFtkYXRhLWJyb3dzZXI9aWVdIGE6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5pZSBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBhLmZvY3VzLXZpc2libGUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgYSAudGFyZ2V0QmxhbmtOb3RpZmllciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICB9XG4gIGEgLmljb24tbWFpbCB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gIH1cbiAgYSAuaWNvbi1leHRlcm5hbC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gIH1cbiAgW2RhdGEtYWN0aXZlLXpvbmU9aG9tZV0ge1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIH1cbn1cbio6bm90KGEpOmZvY3VzLXZpc2libGUsICo6bm90KGEpLmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1mb2N1cy1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLW9mZnNldDogdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtc3R5bGU6IHZhcigtLWZvY3VzLW91dGxpbmUtc3R5bGUpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtd2lkdGg6IHZhcigtLWZvY3VzLW91dGxpbmUtd2lkdGgpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSB2YXIoLS1mb2N1cy1zaGFkb3ctY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5zb2NpYWxNZWRpYUxvZ2lucyBhOmZvY3VzLXZpc2libGUsXG4uc29jaWFsTWVkaWFMb2dpbnMgYS5mb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZS1jb2xvcjogdmFyKC0tZm9jdXMtb3V0bGluZS1jb2xvcikgIWltcG9ydGFudDtcbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLXN0eWxlOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXN0eWxlKSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLXdpZHRoOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXdpZHRoKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgdmFyKC0tZm9jdXMtc2hhZG93LWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5W2RhdGEtcmVkdWNlLWFuaW1hdGlvbj10cnVlXSAqLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YmVmb3JlLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YWZ0ZXIge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnNsaWRlU2tpcCxcbi5ob21lU2tpcCxcbi5tZW1iZXJzaGlwU2tpcCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcC1wYXRoOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2xpZGVTa2lwLmZvY3VzLXZpc2libGUsXG4uaG9tZVNraXAuZm9jdXMtdmlzaWJsZSxcbi5tZW1iZXJzaGlwU2tpcC5mb2N1cy12aXNpYmxlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5zbGlkZVNraXA6Zm9jdXMtdmlzaWJsZSxcbi5ob21lU2tpcDpmb2N1cy12aXNpYmxlLFxuLm1lbWJlcnNoaXBTa2lwOmZvY3VzLXZpc2libGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNsaXAtcGF0aDogaW5pdGlhbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuXG5bZGF0YS1hY3RpdmUtem9uZT1ob21lXSAuaG9tZVNraXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2RhdGEtYWN0aXZlLXpvbmU9c2xpZGVzXSAuc2xpZGVTa2lwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZW1iZXJzaGlwU2tpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiZ3JpZFwiO1xuICBzcmM6IHVybChcIi9mb250cy9ncmlkLndvZmYyP3JnY242NFwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL2ZvbnRzL2dyaWQudHRmP3JnY242NFwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2ZvbnRzL2dyaWQud29mZj9yZ2NuNjRcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2ZvbnRzL2dyaWQuc3ZnP3JnY242NCNncmlkXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuW2NsYXNzXj1pY29uLV0sXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6IFwiZ3JpZFwiICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBuZXZlcjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLXNsaWRlR3JvdXBJdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwN1wiO1xufVxuXG4uaWNvbi1zbGlkZUNhdGVnb3JpZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cblxuLmljb24tcXVpY2t2aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwialwiO1xufVxuXG4uaWNvbi1hcnJvdy1wcmV2aW91czpiZWZvcmUge1xuICBjb250ZW50OiBcImxcIjtcbn1cblxuLmljb24tYXJyb3ctbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIm1cIjtcbn1cblxuLmljb24tc2xpZGVDaGVja2xpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCI4XCI7XG59XG5cbi5pY29uLWNoZWNrbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIjhcIjtcbn1cblxuLmljb24tYXJyb3ctc3dhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuXG4uaWNvbi1zbGlkZUZvcm06YmVmb3JlIHtcbiAgY29udGVudDogXCItXCI7XG59XG5cbi5pY29uLW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmljb24tZXJyb3JQYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwidVwiO1xufVxuXG4uaWNvbi1jZXJ0aWZpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcInJcIjtcbn1cblxuLmljb24tc2xpZGV2aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiaVwiO1xufVxuXG4uaWNvbi1yZXNpemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJpXCI7XG59XG5cbi5pY29uLWV4cGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIiNcIjtcbn1cblxuLmljb24tc2xpZGVJbnRlcmVzdEJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG5cbi5pY29uLXNsaWRlVmlkZW9HcmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiP1wiO1xufVxuXG4uaWNvbi1zbGlkZVJldmVhbFZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiL1wiO1xufVxuXG4uaWNvbi1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlBcIjtcbn1cblxuLmljb24tcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5pY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiKlwiO1xufVxuXG4uaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXlwiO1xufVxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwid1wiO1xufVxuXG4uaWNvbi1zbGlkZVdvcmRTZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCI1XCI7XG59XG5cbi5pY29uLXNsaWRlQ29weTpiZWZvcmUge1xuICBjb250ZW50OiBcImBcIjtcbn1cblxuLmljb24tc2xpZGVNZW1vcnlHYW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiNFwiO1xufVxuXG4uaWNvbi1zbGlkZVF1aXo6YmVmb3JlIHtcbiAgY29udGVudDogXCIyXCI7XG59XG5cbi5pY29uLXNsaWRlVmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCIxXCI7XG59XG5cbi5pY29uLXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJiXCI7XG59XG5cbi5pY29uLXNsaWRlU3VydmV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiNlwiO1xufVxuXG4uaWNvbi1leHRlcm5hbC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiblwiO1xufVxuXG4uaWNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcImFcIjtcbn1cblxuLmljb24taG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcImdcIjtcbn1cblxuLmljb24tbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIm9cIjtcbn1cblxuLmljb24tb3B0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCIsXCI7XG59XG5cbi5pY29uLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiVFwiO1xufVxuXG4uaWNvbi1ncmFkdWF0aW9uLWNhcDpiZWZvcmUge1xuICBjb250ZW50OiBcInpcIjtcbn1cblxuLmljb24tY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcInNcIjtcbn1cblxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiZlwiO1xufVxuXG4uaWNvbi1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcInlcIjtcbn1cblxuLmljb24tcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIiRcIjtcbn1cblxuLmljb24tcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCIlXCI7XG59XG5cbi5pY29uLWFjY291bnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJrXCI7XG59XG5cbi5pY29uLXNsaWRlU2VsZkRpcmVjdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiOVwiO1xufVxuXG4uaWNvbi1hY2hpZXZlbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcInFcIjtcbn1cblxuLmljb24tZmFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwieFwiO1xufVxuXG4uaWNvbi1nbG9zc2FyeTpiZWZvcmUge1xuICBjb250ZW50OiBcInZcIjtcbn1cblxuLmljb24tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcImRcIjtcbn1cblxuLmljb24tbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcImNcIjtcbn1cblxuLmljb24tbGVhcm4tbW9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcImhcIjtcbn1cblxuLmljb24tc2xpZGVJdGVtc09mSW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJoXCI7XG59XG5cbi5pY29uLWFubm91bmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiZVwiO1xufVxuXG4uaWNvbi1tYWludGVuYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIn5cIjtcbn1cblxuLmljb24tc2xpZGVUaGlzT3JUaGF0UXVpejpiZWZvcmUge1xuICBjb250ZW50OiBcIjBcIjtcbn1cblxuLmljb24tbG9nb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIVwiO1xufVxuXG4uaWNvbi1tZWRpYTpiZWZvcmUge1xuICBjb250ZW50OiBcInBcIjtcbn1cblxuLmljb24tYWNjZXNzaWJpbGl0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIkBcIjtcbn1cblxuLmljb24tc2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlNcIjtcbn1cblxuLmljb24tc2xpZGVSZXZlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCIzXCI7XG59XG5cbi5pY29uLXNsaWRlTWFzdGVyVGVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIjdcIjtcbn1cblxuLmljb24tbWFuZGF0b3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG59XG5cbi5pY29uLXNsaWRlQ2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuXG5AbGF5ZXIgYmFzZSB7XG4gIC5maWVsZFdyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIGlucHV0OjotbXMtcmV2ZWFsLFxuICAuZmllbGRXcmFwcGVyIGlucHV0OjotbXMtY2xlYXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0OjotbXMtcmV2ZWFsLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBpbnB1dDo6LW1zLWNsZWFyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0OjotbXMtcmV2ZWFsLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0OjotbXMtY2xlYXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0OjotbXMtcmV2ZWFsLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLmRlc2NyaXB0aW9uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuZGVzY3JpcHRpb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLmRlc2NyaXB0aW9uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBmb250LXNpemU6IDAuODRlbTtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhc2ljKSBjYWxjKDAuODUgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgdGV4dGFyZWEsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmxvbmdhbnN3ZXIgdGV4dGFyZWEge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuICAuZHJvcGRvd25XcmFwcGVyIHNlbGVjdCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGZpbGw9J2JsYWNrJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNNyAxMGw1IDUgNS01eicvPjxwYXRoIGQ9J00wIDBoMjR2MjRIMHonIGZpbGw9J25vbmUnLz48L3N2Zz5cIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggNTBweDtcbiAgfVxuICAuZHJvcGRvd25XcmFwcGVyIHNlbGVjdDo6LW1zLWV4cGFuZCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jb250cm9sV3JhcHBlcixcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxuICAuY29udHJvbFdyYXBwZXI6bGFzdC1jaGlsZCxcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAuY29udHJvbFdyYXBwZXIgLmNvbnRyb2wsXG4gIC5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciAuY29udHJvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5jb250cm9sV3JhcHBlciBsYWJlbCxcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5jb250cm9sV3JhcHBlciAuZGVzY3JpcHRpb24sXG4gIC5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBmb250LXNpemU6IDAuODRlbTtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhc2ljKSBjYWxjKDAuODUgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgLnN0eWxlZEZpZWxkc2V0LFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0LWdyZXkpIGNhbGMoMC40ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc3R5bGVkRmllbGRzZXQgbGVnZW5kLFxuICAuc3R5bGVkRmllbGRzZXQgLmdyb3VwTGVnZW5kLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCBsZWdlbmQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgICBjb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICB9XG4gIC5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICB9XG4gIC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDEycHg7XG4gIH1cbiAgLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmZpZWxkV3JhcHBlcixcbiAgLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmNvbnRyb2xXcmFwcGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIC5maWVsZFdyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmNvbnRyb2xXcmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmZpZWxkV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHtcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgfVxuICAuZmllbGRXcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKTpub3QoLml0aV9fc2VhcmNoLWlucHV0KSxcbiAgLmZpZWxkV3JhcHBlciB0ZXh0YXJlYSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSk6bm90KC5pdGlfX3NlYXJjaC1pbnB1dCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIHRleHRhcmVhLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pOm5vdCguaXRpX19zZWFyY2gtaW5wdXQpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIHRleHRhcmVhLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKTpub3QoLml0aV9fc2VhcmNoLWlucHV0KSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgdGV4dGFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgICBwYWRkaW5nOiAyM3B4IDhweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogNTNweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZTpob3ZlcixcbiAgICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6aG92ZXIsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgICB9XG4gICAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlOmhvdmVyIC5pY29uOmFmdGVyLFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlOmhvdmVyIC5pY29uOmFmdGVyLFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpob3ZlciAuaWNvbjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICAgIH1cbiAgfVxuICBbZGF0YS1icm93c2VyPWllXSAuZmllbGRXcmFwcGVyIC5zaG93SGlkZTpob3ZlcixcbiAgW2RhdGEtYnJvd3Nlcj1pZV0gLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlOmhvdmVyLFxuICBbZGF0YS1icm93c2VyPWllXSAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZTpob3ZlcixcbiAgW2RhdGEtYnJvd3Nlcj1pZV0gLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG4gIFtkYXRhLWJyb3dzZXI9aWVdIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmhvdmVyIC5pY29uOmFmdGVyLFxuICBbZGF0YS1icm93c2VyPWllXSAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gIFtkYXRhLWJyb3dzZXI9aWVdIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlOmhvdmVyIC5pY29uOmFmdGVyLFxuICBbZGF0YS1icm93c2VyPWllXSAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmllIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmhvdmVyLFxuICAuaWUgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlOmhvdmVyLFxuICAuaWUgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6aG92ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmllIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmhvdmVyIC5pY29uOmFmdGVyLFxuICAuaWUgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlOmhvdmVyIC5pY29uOmFmdGVyLFxuICAuaWUgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGUuZm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlLmZvY3VzLXZpc2libGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlLmZvY3VzLXZpc2libGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZS5mb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlLmZvY3VzLXZpc2libGUgLmljb246YWZ0ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZS5mb2N1cy12aXNpYmxlIC5pY29uOmFmdGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZS5mb2N1cy12aXNpYmxlIC5pY29uOmFmdGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGUuZm9jdXMtdmlzaWJsZSAuaWNvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZTpmb2N1cy12aXNpYmxlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6Zm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6Zm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlOmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6Zm9jdXMtdmlzaWJsZSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlOmZvY3VzLXZpc2libGUgLmljb246YWZ0ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlOmZvY3VzLXZpc2libGUgLmljb246YWZ0ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpmb2N1cy12aXNpYmxlIC5pY29uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGVbYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGVbYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAzcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC00NWRlZyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGUgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZSAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGUgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZSAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxuICAuZmllbGRXcmFwcGVyICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyB7XG4gICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICB9XG4gIC5maWVsZFdyYXBwZXIgI3JlcXVpcmVtZW50cyxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI3JlcXVpcmVtZW50cyxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjcmVxdWlyZW1lbnRzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgODAwbXMgZWFzZS1pbi1vdXQ7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzIGxpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb3JyZWN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29ycmVjdC1jb250cmFzdCk7XG4gICAgZm9udC1zaXplOiAwLjg4ZW07XG4gICAgcGFkZGluZy10b3A6IDAuMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgI3JlcXVpcmVtZW50cyBsaSAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI3JlcXVpcmVtZW50cyBsaSAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjcmVxdWlyZW1lbnRzIGxpIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjcmVxdWlyZW1lbnRzIGxpIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cm9uZyk7XG4gICAgY29sb3I6IHZhcigtLXdyb25nLWNvbnRyYXN0KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjFlbTtcbiAgfVxuICAuZHJvcGRvd25XcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiA4cHg7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcbiAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIgc2VsZWN0LFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biBzZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA1MnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgICBwYWRkaW5nOiAyNnB4IDQ1cHggOHB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmxvbmdhbnN3ZXIgdGV4dGFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgICBwYWRkaW5nOiA2cHggOHB4IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIGZvcm0gLmVycm9yLFxuICAuZm9ybVdyYXAgLmVycm9yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDRweCAwO1xuICAgIHBhZGRpbmc6IDJweCA0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdyb25nKTtcbiAgICBjb2xvcjogdmFyKC0td3JvbmctY29udHJhc3QpO1xuICB9XG4gIGZvcm0gLmVycm9yOmVtcHR5LFxuICAuZm9ybVdyYXAgLmVycm9yOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAgIC5zdHlsZWRGaWVsZHNldCxcbiAgICAudW1icmFjby1mb3Jtcy1maWVsZHNldCB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cbiAgICAuc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCxcbiAgICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gICAgLmNvbnRyb2xXcmFwcGVyIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgIC5jb250cm9sV3JhcHBlciBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIH1cbiAgfVxufVxuLmZpZWxkV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uZmllbGRXcmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uY29udHJvbFdyYXBwZXIgPiAqOmZpcnN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5jb250cm9sV3JhcHBlciA+ICo6bGFzdC1jaGlsZCxcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5jb250cm9sV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnN0eWxlZEZpZWxkc2V0ID4gOmxhc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4jcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiYVwiO1xufVxuXG53aWxsaXMtem9uZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5baW5lcnRdIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbndpbGxpcy1kaWFsb2c6bm90KFtkYXRhLW9wZW49dHJ1ZV0pIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5odG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9dHJ1ZV0ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbkBsYXllciBiYXNlIHtcbiAgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1zY3JvbGxiYXItd2lkdGgpKTtcbiAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgfVxuICBAc3VwcG9ydHMgKGhlaWdodDogMTAwZHZoKSB7XG4gICAgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgIH1cbiAgfVxuICAuc2xpZGUgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmRpYWxvZ0lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDgwMHB4O1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nSW5uZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSAuZGlhbG9nTGFiZWwge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIC5kaWFsb2dDb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSAuZGlhbG9nQWN0aW9ucyB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyTGVmdF0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJSaWdodF0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogNDQwcHg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49ZnVsbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9Z2xhY2lhbF0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD12ZXJ5U2xvd10ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1zbG93XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9bWVkaXVtXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9ZmFzdF0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPXZlcnlGYXN0XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG59XG4uZGlhbG9nQmFja2Ryb3AuaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuLmRpYWxvZ0JhY2tkcm9wLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVUb3BJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcEluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVUb3BPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVRvcE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcE91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlQm90dG9tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlQm90dG9tSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21Jbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlQm90dG9tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUJvdHRvbU91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUJvdHRvbU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlUmlnaHRJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVSaWdodEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlUmlnaHRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlUmlnaHRPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodE91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlTGVmdEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVMZWZ0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVMZWZ0SW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZUxlZnRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUxlZnRPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVMZWZ0T3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVG9wSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BJbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BJbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BJbl0ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVUb3BPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZUJvdHRvbUluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVCb3R0b21PdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlUmlnaHRJbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodEluO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVJpZ2h0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVJpZ2h0T3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlTGVmdEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRJbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnRPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRPdXQ7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodC1ncmV5KSBjYWxjKDAuNyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG59XG5cbi5kaWFsb2dDb250ZW50IHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5kaWFsb2dBY3Rpb25zLmdlbmVyYXRlZCBidXR0b24uY2xvc2VEaWFsb2cgLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG4gIGNvbnRlbnQ6IFwiYlwiO1xufVxuXG5idXR0b24uY2xvc2VEaWFsb2cgLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG4gIGNvbnRlbnQ6IFwiYlwiO1xufVxuXG4uZGlhbG9nTGFiZWwgaDIge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIHtcbiAgcGFkZGluZzogMjBweDtcbn1cbi5zYWZhcmkgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZzpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZy5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZzpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZ1tkaXNhYmxlZF0sIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zYWZhcmkgW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nTGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrKTtcbiAgcGFkZGluZzogNXB4IDEwcHggMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nTGFiZWwgaDIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogMjBweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdIC5kaWFsb2dJbm5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJMZWZ0XSAuZGlhbG9nSW5uZXIge1xuICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKSAwO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cykgMCAwIHZhcigtLXJhZGl1cyk7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZV49ZnVsbF0gLmRpYWxvZ0lubmVyIHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhclJpZ2h0XSAuZGlhbG9nSW5uZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXS5yZXBvcnROZWVkZWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLnNhZmFyaSBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdW2RhdGEtYmFja2Ryb3AtZm9yPWFjY2Vzc2liaWxpdHlQcmVmc10ge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10ucmV0dXJuUGF1c2UgLmJnSW1nV3JhcHBlcjpmaXJzdC1jaGlsZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nV3JhcHBlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuODVzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nV3JhcHBlci5jdXJyZW50IHtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1dyYXBwZXIucHJldiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1dyYXBwZXI6bnRoLWNoaWxkKG9kZCkgLmJnSW1nLnRyYW5zIHtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdXcmFwcGVyOm50aC1jaGlsZChldmVuKSAuYmdJbWcudHJhbnMge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEwcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPWNlbnRlcl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgNTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgMTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSAxMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgOTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA5MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWFuaW1hdGlvbj1jZW50ZXJdIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1hbmltYXRpb249XCJ0b3AgcmlnaHRcIl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYW5pbWF0aW9uPVwidG9wIGxlZnRcIl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1hbmltYXRpb249XCJib3R0b20gcmlnaHRcIl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYW5pbWF0aW9uPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XS5wYXVzZWQgLmJnSW1nV3JhcHBlci50cmFucyB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10ucGF1c2VkIC5iZ0ltZy50cmFucyB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWcsXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmcge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cInRvcCBtaWRkbGVcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPWNlbnRlcl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9Y2VudGVyXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBtaWRkbGVcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIHZpZGVvIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgfVxufVxuW2RhdGEtaXMtbG9hZGluZz10cnVlXSAjYmFja2dyb3VuZCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbltkYXRhLWFjdGl2ZS1kaWFsb2c9Y2hlY2tsaXN0XSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9ZmFxXSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9Z2xvc3NhcnldICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1hY2hpZXZlbWVudHNdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1yZXNvdXJjZXNdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1mYXFDb25maXJtUXVlc3Rpb25NZXNzYWdlXSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9ZmFxUXVlc3Rpb25TdWJtaXR0ZWRNZXNzYWdlXSAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuW2RhdGEtYWN0aXZlLWRpYWxvZz11dGlsaXR5TWVudV0gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLWFjdGl2ZS16b25lPXNsaWRlc10gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLWlzLWxvYWRpbmc9dHJ1ZV0gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC5pY29uLXBsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2JhY2tncm91bmRQbGF5QnRuLnBhdXNlIC5pY29uLXBsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0bi5wYXVzZSAuaWNvbi1wYXVzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNiYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbiNiYWNrZ3JvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodCkgY2FsYygwLjUgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXM7XG59XG5bZGF0YS1zaG93Y2FzZS1iYWNrZ3JvdW5kPXRydWVdICNiYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5bZGF0YS1zaG93Y2FzZS1iYWNrZ3JvdW5kPXRydWVdICNiYWNrZ3JvdW5kOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA1O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiA2MCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKDAgKiAxMDAlKSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQtZ3JleSkgY2FsYygxICogMTAwJSksIHRyYW5zcGFyZW50KSAxNSUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zO1xufVxuW2RhdGEtc2hvd2Nhc2UtYmFja2dyb3VuZD10cnVlXSAjYmFja2dyb3VuZCA+ICoge1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG59XG4jYmFja2dyb3VuZCAuY292ZXItc2xpZGVyLFxuI2JhY2tncm91bmQgdmlkZW8sXG4jYmFja2dyb3VuZCAubWFpbkJnSW1nIHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbn1cbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdIb2xkZXIge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xufVxuLm1lbnVPdXQgI2JhY2tncm91bmQgLnNlY3Rpb25CZ0hvbGRlciB7XG4gIHotaW5kZXg6IDM7XG59XG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyW2RhdGEtc2VjdGlvbi1iZy1vbmx5PXRydWVdIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmluU2VjdGlvbiAjYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyW2RhdGEtc2VjdGlvbi1iZy1vbmx5PXRydWVdIHtcbiAgb3BhY2l0eTogMTtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZyxcbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNiYWNrZ3JvdW5kIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5bZGF0YS1hY3RpdmUtem9uZT1zbGlkZXNdICNiYWNrZ3JvdW5kID4gKiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5bZGF0YS1hY3RpdmUtem9uZT1zbGlkZXNdICNiYWNrZ3JvdW5kOmFmdGVyIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuW2RhdGEtYWN0aXZlLXpvbmU9c2xpZGVzXSAjYmFja2dyb3VuZDpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4jYmFja2dyb3VuZFBsYXlCdG4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogMTUwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4gLnRleHQge1xuICBsZWZ0OiBjYWxjKDEwMCUgKyAycHgpO1xuICB0b3A6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBzY2FsZTogMC4xO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XG4gIHBhZGRpbmc6IDJweCA3cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtY29udHJhc3QpO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgdmFyKC0tdGltaW5nLWJvdW5jZSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgdHJhbnNsYXRlOiAwIC01MCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC50ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTRweDtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0biAudGV4dDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAjYmFja2dyb3VuZFBsYXlCdG46aG92ZXIgLnRleHQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgc2NhbGU6IDE7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIC50ZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgc2NhbGU6IDE7XG59XG4uaWUgI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4uaWUgI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIC50ZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgc2NhbGU6IDE7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4uZm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuI2JhY2tncm91bmRQbGF5QnRuLmZvY3VzLXZpc2libGUgLnRleHQge1xuICBvcGFjaXR5OiAxO1xuICBzY2FsZTogMTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4jYmFja2dyb3VuZFBsYXlCdG46Zm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIG9wYWNpdHk6IDE7XG4gIHNjYWxlOiAxO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgI2JhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICB9XG4gIFtkYXRhLXNob3djYXNlLWJhY2tncm91bmQ9dHJ1ZV0gI2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiBtYXgoMTUwcHgsIDMwdmgpO1xuICAgIGhlaWdodDogbWF4KDEwMCUgLSAxNTBweCwgMTAwJSAtIDMwdmgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodCkgY2FsYygwICogMTAwJSksIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0LWdyZXkpIGNhbGMoMSAqIDEwMCUpLCB0cmFuc3BhcmVudCkgMTUlKTtcbiAgfVxuICBbZGF0YS1zaG93Y2FzZS1iYWNrZ3JvdW5kPXRydWVdICNiYWNrZ3JvdW5kIC5iZ0ltZyxcbiAgW2RhdGEtc2hvd2Nhc2UtYmFja2dyb3VuZD10cnVlXSAjYmFja2dyb3VuZCAuc2VjdGlvbkJnLFxuICBbZGF0YS1zaG93Y2FzZS1iYWNrZ3JvdW5kPXRydWVdICNiYWNrZ3JvdW5kIHZpZGVvLFxuICBbZGF0YS1zaG93Y2FzZS1iYWNrZ3JvdW5kPXRydWVdICNiYWNrZ3JvdW5kIC5tYWluQmdJbWcsXG4gIFtkYXRhLXNob3djYXNlLWJhY2tncm91bmQ9dHJ1ZV0gI2JhY2tncm91bmQgLnNlY3Rpb25CZ0hvbGRlciB7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogbWF4KDMyMHB4LCA2MHZoKTtcbiAgfVxuICBbZGF0YS1zaG93Y2FzZS1iYWNrZ3JvdW5kPXRydWVdICNiYWNrZ3JvdW5kID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICAgIHRvcDogMTIwcHg7XG4gICAgd2lkdGg6IDM2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICAgIHRvcDogOTJweDtcbiAgICBsZWZ0OiAxMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICB0b3A6IDg4cHg7XG4gICAgbGVmdDogOHB4O1xuICAgIHdpZHRoOiAzNHB4O1xuICB9XG59XG4uYnVmZmVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcbn1cblxuZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5mb290ZXIgLmFkZ0xvZ29XcmFwIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cbmZvb3RlciAuYWRnTG9nb1dyYXAgLmFkZ0xvZ28ge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICBnYXA6IDEycHg7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC5mYWNlYm9va0xvZ2luIHtcbiAgYmFja2dyb3VuZDogcmdiKDgsIDEwMiwgMjU1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmdvb2dsZUxvZ2luIHtcbiAgYmFja2dyb3VuZDogI2ViZWJlYyAhaW1wb3J0YW50O1xuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLnR3aXR0ZXJMb2dpbiB7XG4gIGJhY2tncm91bmQ6ICMxNDE3MWEgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC50d2l0dGVyTG9naW4gLnRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyAuYXBwbGVMb2dpbiB7XG4gIGJhY2tncm91bmQ6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGhlaWdodDogNDVweDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zID4gYSAuc3ZnSWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogN3B4O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyA+IGEgLnRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4ge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4gPiBkaXYge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLyoubG9naW5XcmFwcGVyW2RhdGEtaGlkZGVuLWZvci1ndWVzdD1cInRydWVcIl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59Ki9cbi5ndWVzdFdyYXBwZXJIb2xkZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgODAwbXM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uZmllbGRXcmFwcGVyLnBob25lICNQaG9uZU51bWJlciB7XG4gIHBhZGRpbmctbGVmdDogNTBweDtcbn1cbi5maWVsZFdyYXBwZXIucGhvbmUgLml0aSB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuLmZpZWxkV3JhcHBlci5waG9uZSAuaXRpIC5pdGlfX2NvdW50cnktY29udGFpbmVyIHtcbiAgdG9wOiAxOHB4O1xuICBib3R0b206IDFweDtcbn1cbi5maWVsZFdyYXBwZXIucGhvbmUgLml0aSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKSAwIDAgdmFyKC0tcmFkaXVzKTtcbn1cbi5maWVsZFdyYXBwZXIucGhvbmUgLml0aSAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgei1pbmRleDogMztcbn1cblxuOnJvb3Qge1xuICAtLWl0aS1wYXRoLWZsYWdzLTF4OiB1cmwoXCIvSW1hZ2VzL2ZsYWdzLnBuZ1wiKTtcbiAgLS1pdGktcGF0aC1mbGFncy0yeDogdXJsKFwiL0ltYWdlcy9mbGFnc0AyeC5wbmdcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMXg6IHVybChcIi9JbWFnZXMvZ2xvYmUucG5nXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTJ4OiB1cmwoXCIvSW1hZ2VzL2dsb2JlQDJ4LnBuZ1wiKTtcbn1cblxuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMjA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDY4cHg7XG59XG5oZWFkZXIgLmJyYW5kaW5nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMThweCAzMHB4IDE4cHggMzBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xufVxuaGVhZGVyIC5vcmllbnRhdGlvblRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiA1cHg7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIHRyYW5zaXRpb246IGFsbCAxMDAwbXM7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbmhlYWRlciAubG9nb1dyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDMyJTtcbiAgaGVpZ2h0OiAyNDBweDtcbiAgcGFkZGluZzogMjBweCAwIDAgMjBweDtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAwIDEwMCUpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KC0ycHggLTJweCA1cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAuOCAqIDEwMCUpLCB0cmFuc3BhcmVudCkpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtY29udHJhc3QpO1xufVxuaGVhZGVyIC5sb2dvV3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwIDEwcHggMTBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMCAxMDAlKTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xufVxuaGVhZGVyIC5sb2dvV3JhcCAubG9nbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA1MiU7XG4gIG1heC1oZWlnaHQ6IDcwJTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbn1cblxuI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDEwMDAwO1xufVxuXG5ib2R5Omhhcyhmb290ZXIpICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIGJvdHRvbTogNTBweDtcbn1cblxuI21lbWJlcnNoaXAge1xuICAtLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICAtLWZvY3VzLXNoYWRvdy1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gMTY1cHgpO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB6LWluZGV4OiA1O1xufVxuI21lbWJlcnNoaXAgLnRpdGxlQXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLnRpdGxlQXJlYS5hY2NvdW50UHJvZmlsZXIgaDEge1xuICBmb250LXNpemU6IDJlbTtcbn1cbiNtZW1iZXJzaGlwIC50aXRsZUFyZWEgaDIge1xuICBtYXJnaW46IDA7XG59XG4jbWVtYmVyc2hpcCAudGl0bGVBcmVhIHAge1xuICBtYXJnaW46IDA7XG59XG4jbWVtYmVyc2hpcCAuZXJyb3JNZXNzYWdlLFxuI21lbWJlcnNoaXAgLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3JvbmcpO1xuICBjb2xvcjogdmFyKC0td3JvbmctY29udHJhc3QpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBtYXJnaW46IDJweCBhdXRvIDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG4jbWVtYmVyc2hpcCAubG9naW5OYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuI21lbWJlcnNoaXAgLmxvZ2luTmF2ID4gKiB7XG4gIG1hcmdpbjogMCA1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiAyNXB4IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBtaW4taGVpZ2h0OiAxZW07XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICBoZWlnaHQ6IDQ1JTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1iYXNpYykgbWluKGwgKyBsICogMC43NSwgMSkgYyBoKTtcbiAgfVxufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBtaW4taGVpZ2h0OiAxZW07XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICAgIG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOSBJakFnTUNBek1UWXVNemdnTWpVd0xqWWlQanh3WVhSb0lHUTlJazAzTUM0MElESXhPUzQ0WXpRdU5UVWdOQzQ0IE55QTVMakl5SURrdU5qY2dNVFF1TVRJZ01UUXVNVGtnTXk0M05TQXpMalEzSURjdU56RWdOaTQ0TlNBeE1TNDUgTXlBNUxqYzBJRFV1TlNBekxqYzRJREV4TGpreUlEY3VNRGdnTVRndU56Z2dOaTQ0TlNBMkxqWTJMUzR5TXlBeCBNaTQzTnkwekxqY3pJREUzTGprM0xUY3VOaklnT0M0MkxUWXVORElnTVRZdU5qY3RNVFV1TVRjZ01qTXVPRFF0IE1qTXVNVFJNTXpBMUxqWTRJRFUwTGpZNVl6Y3VNaTA0SURFeExqYzVMVEU0TGpJMUlERXdMalEzTFRJNUxqRTMgTFRFdU1EUXRPQzQxT1MwMUxqY3hMVEUyTGpVMUxURXpMakF4TFRJeExqSTVMVFV1TmpVdE15NDJOeTB4TWk0eSBOaTAwTGprNExURTRMamt0TXk0NE1pMDRMamtnTVM0MU5pMHhOaTQxTkNBM0xqSXlMVEl5TGpRNElERXpMamM0IExUUTRMak0wSURVekxqTXlMVGsyTGpVNUlERXdOaTQzTVMweE5EUXVPRFVnTVRZd0xqRXhiQzB6TGpFNUlETXUgTlRNdE5qQXVOQzAyTmk0Mk0yTXRPQzQwTWkwNUxqSTVMVEU1TGpjdE1UTXVPVFF0TXpFdU9USXRPUzQxTnkwMCBMamN5SURFdU5qa3RPQzQ1T1NBMExqVTRMVEV5TGpRMUlEZ3VNVGt0TXk0NE5pQTBMakEwTFRZdU56Z2dPUzR3IE5pMDRMakV6SURFMExqUTVMVEl1TXpFZ09TNHlOeTR6SURFNExqQTNJRFl1TmpJZ01qVXVNVE5zTmpJdU9UVWcgTnpBdU16VmFJaUJ6ZEhsc1pUMGlabWxzYkMxeWRXeGxPbVYyWlc1dlpHUWlMejQ4TDNOMlp6NEtcIik7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDYwJTtcbiAgICBtYXNrLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhc2ljKSBjYWxjKDAuOCAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XSB+IGxhYmVsLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dIH4gbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDAuMzVlbTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuc3RhdHVzTWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWJsYWNrLWNvbnRyYXN0KTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIC5saW5lIHtcbiAgaGVpZ2h0OiAycHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIC5vciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIG1hcmdpbi1pbmxpbmU6IDE1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIgLmZpZWxkV3JhcHBlciB7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIG1heC13aWR0aDogMzUwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMge1xuICAtLWdyYXBoaWM6IDcwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDE1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBwYWRkaW5nOiA3cHggY2FsYyh2YXIoLS1ncmFwaGljKSAtIDE1cHgpO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbjogMCA2cHg7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tZ3JhcGhpYykgKyAxNXB4KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGFbZGlzYWJsZWRdLCAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYVthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb24ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb24ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpoYXMoLmltYWdlKSB7XG4gIC0tZ3JhcGhpYzogOTBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhhcyguaW1hZ2UpIC5ncmFwaGljSG9sZGVyIHtcbiAgY2xpcC1wYXRoOiBub25lO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KC01cHggLTVweCAwcHggdmFyKC0tYnJhbmQtZGFyaykpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aGFzKC5pbWFnZSkgLmltYWdlIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDMwJSAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlLCAwJSAyNCUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhhcyguaW1hZ2UpIC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuZ3JhcGhpY0hvbGRlciB7XG4gIG1pbi13aWR0aDogdmFyKC0tZ3JhcGhpYyk7XG4gIHdpZHRoOiB2YXIoLS1ncmFwaGljKTtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMztcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDMwJSAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlLCAwJSAyNCUpO1xuICB0b3A6IC0xNXB4O1xuICBsZWZ0OiAtOXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuZ3JhcGhpY0hvbGRlciAuaW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC50ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xuICBmb250LXNpemU6IDEuOGVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmd1ZXN0TG9naW5CdG4ge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAyNSUgNTAlO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5ndWVzdExvZ2luQnRuIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwia1wiO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5lbnJvbGxlZUxvZ2luQnRuIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNzUlIDUwJTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuZW5yb2xsZWVMb2dpbkJ0biAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcInpcIjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucHJvZmlsZVNldHRpbmdzRXhwbGFpbmVyLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucHJvZmlsZUVycm9yV3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmVycm9yTWVzc2FnZSBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmluc3RydWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuYnV0dG9uSG9sZGVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMjBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnN0eWxlZEZpZWxkc2V0LnBob25lIC5maWVsZFdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuc3R5bGVkRmllbGRzZXQucGhvbmUgLmZpZWxkV3JhcHBlciAuaXRpIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG4ge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgdHJhbnNpdGlvbjogMjAwbXM7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG46aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG4uZm9jdXMtdmlzaWJsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gLmZpZWxkV3JhcHBlciB7XG4gIG1hcmdpbjogMCA1cHggMCAwO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbltkaXNhYmxlZF0sICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBwYWRkaW5nOiAwLjM1ZW0gMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcC5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25FbWFpbCxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI09UUEJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMCAwIDJweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25FbWFpbFtkYXRhLXdhaXQtYS1mZXc9dHJ1ZV0sXG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNPVFBCdXR0b25bZGF0YS13YWl0LWEtZmV3PXRydWVdIHtcbiAgb3BhY2l0eTogMC42O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNmVtIDEuNWVtO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllICNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbi5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbltkaXNhYmxlZF0sICNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuc3R5bGVkRmllbGRzZXQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuI21lbWJlcnNoaXAgLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNmVtIDEuNWVtO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2c6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nW2Rpc2FibGVkXSwgLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2dbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nIC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3Jlc2V0RGF0YSBidXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC42ZW0gMS41ZW07XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI3Jlc2V0RGF0YSBidXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI3Jlc2V0RGF0YSBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjcmVzZXREYXRhIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3Jlc2V0RGF0YSBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3Jlc2V0RGF0YSBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3Jlc2V0RGF0YSBidXR0b25bZGlzYWJsZWRdLCAjcmVzZXREYXRhIGJ1dHRvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIGhlYWRlciAubG9nb1dyYXAge1xuICAgIGhlaWdodDogMjAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgaGVhZGVyIC5sb2dvV3JhcCB7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICBib2R5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IG1heCgxNTBweCwgMzB2aCk7XG4gICAgaGVpZ2h0OiBtYXgoMTAwJSAtIDE1MHB4LCAxMDAlIC0gMzB2aCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKDAgKiAxMDAlKSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQtZ3JleSkgY2FsYygxICogMTAwJSksIHRyYW5zcGFyZW50KSAxNSUpO1xuICB9XG4gIGhlYWRlciB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICB9XG4gIGhlYWRlciAubG9nb1dyYXAge1xuICAgIHdpZHRoOiAzMzBweDtcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICB9XG4gIGhlYWRlciAuYnJhbmRpbmcge1xuICAgIHBhZGRpbmc6IDEycHggMzBweCAxMnB4IDM1MHB4O1xuICB9XG4gIGhlYWRlciAub3JpZW50YXRpb25UaXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxuICAjbWVtYmVyc2hpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiBtYXgoMTUwcHgsIDMwdmgpO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAjbWVtYmVyc2hpcCAudGl0bGVBcmVhLFxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICB9XG4gICNtZW1iZXJzaGlwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IG1heCgxNTBweCwgMzB2aCk7XG4gICAgaGVpZ2h0OiBtYXgoMTAwJSAtIDE1MHB4LCAxMDAlIC0gMzB2aCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKDAgKiAxMDAlKSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQtZ3JleSkgY2FsYygxICogMTAwJSksIHRyYW5zcGFyZW50KSAxNSUpO1xuICB9XG4gICNiYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWcsXG4gICNiYWNrZ3JvdW5kIHZpZGVvIHtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiBtYXgoMjIwcHgsIDQ0dmgpO1xuICB9XG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIHRvcDogMTMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiA4cHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgaGVhZGVyIC5vcmllbnRhdGlvblRpdGxlIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuICBoZWFkZXIgLmJyYW5kaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbiAgaGVhZGVyIC5sb2dvV3JhcCB7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCB7XG4gICAgcGFkZGluZzogMjVweDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gICNyZXNldERhdGEgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIH1cbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICB0b3A6IDEyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgaGVhZGVyIC5sb2dvV3JhcCB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICB9XG4gIGhlYWRlciAuYnJhbmRpbmcge1xuICAgIGhlaWdodDogNTRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbiAgaGVhZGVyIC5vcmllbnRhdGlvblRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICB9XG4gIC5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogOHB4O1xuICB9XG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gICAgdG9wOiA5NXB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICBoZWFkZXIgLmxvZ29XcmFwIHtcbiAgICB3aWR0aDogMjEwcHg7XG4gICAgaGVpZ2h0OiA5NXB4O1xuICB9XG4gIGhlYWRlciAuYnJhbmRpbmcge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbiAgaGVhZGVyIC5vcmllbnRhdGlvblRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgfVxuICAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICAgIGxlZnQ6IDhweDtcbiAgICB0b3A6IDg1cHg7XG4gIH1cbn1cbi5ydGUge1xuICBjbGVhcjogYm90aDtcbn1cbi5ydGUgaDQsXG4ucnRlIGg1IHtcbiAgbWFyZ2luOiAwLjhlbSAwIDAuNWVtO1xufVxuLnJ0ZSA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhLmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggYmxhY2sgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggYmxhY2sgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhOmhhcyhpbWcpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnJ0ZSBhOmhhcyhpbWcpIC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDNweDtcbiAgcGFkZGluZzogNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucnRlIGE6aGFzKGltZyk6aG92ZXIgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAucnRlIGE6aGFzKGltZyk6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4uaWUgLnJ0ZSBhOmhhcyhpbWcpOmhvdmVyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuLnJ0ZSBhOmhhcyhpbWcpLmZvY3VzLXZpc2libGUgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4ucnRlIGE6aGFzKGltZyk6Zm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbi5ydGUgaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gODBweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoKDEwMHZ3IC0gODBweCkgLyAxLjc3NzgpOyAvKiAxNjo5ICovXG59XG4ucnRlIGltZyB7XG4gIG1hcmdpbjogMTBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMjBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XG59XG4ucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgbWF4LXdpZHRoOiA2MCU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCksIChtYXgtd2lkdGg6IDEwNTBweCkgYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvIDhweDtcbiAgfVxufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSB7XG4gIG1hcmdpbjogMjBweCAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzKSArIDVweCAtIHZhcigtLWJvcmRlcikpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlcikgc29saWQgdmFyKC0tZ3JleSk7XG4gIHBhZGRpbmc6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSBpbWcge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpIDBweCAwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0sIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogNjAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSwgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCksIChtYXgtd2lkdGg6IDEwNTBweCkgYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSwgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xuICB9XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpIGZpZ2NhcHRpb24ge1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHggMHB4IHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cbi5ydGUgb2xbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1wiXSA+IGxpOmJlZm9yZSwgLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XCJdID4gbGk6YmVmb3JlLCAucnRlIG9sW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1ncmVlaztcIl0gPiBsaTpiZWZvcmUsIC5ydGUgb2xbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuO1wiXSA+IGxpOmJlZm9yZSwgLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XCJdID4gbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tbGlnaHQpIDMwJSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKDAgKiAxMDAlKSwgdHJhbnNwYXJlbnQpKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCksIHZhcigtLWxpZ2h0KSA3MCUpIDAgMTAwJSwgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMCUgNTAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmxhY2spIGNhbGMoMC4yICogMTAwJSksIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAgKiAxMDAlKSwgdHJhbnNwYXJlbnQpKSwgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMTAwJSA1MCUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ibGFjaykgY2FsYygwLjIgKiAxMDAlKSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmxhY2spIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCkpIDAgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggMTAwJSwgNDBweCAxMDAlLCAxNHB4IDEwMCUsIDE0cHggMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCAxMDAlLCAwIDAsIDEwMCU7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogbG9jYWwsIGxvY2FsLCBzY3JvbGwsIHNjcm9sbDtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHtcbiAgbWluLXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIGNhcHRpb24ge1xuICBwYWRkaW5nOiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWJyaWdodCkgY2FsYygwLjE3ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1icmlnaHQpIGNhbGMoMC4wNiAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdGgge1xuICBwYWRkaW5nOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHRkIHtcbiAgcGFkZGluZzogM3B4O1xuICBmb250LXNpemU6IDAuOTVlbTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSBhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBwYWRkaW5nOiA1cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiBjYWxjKDVweCArIHZhcigtLXJhZGl1cykpO1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDZweCA4cHggNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWJyYW5kLWRhcmspIHRyYW5zcGFyZW50O1xufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbi5ydGUgcCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgcCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4ucnRlIGgzLmhlYWRpbmcsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIGgzLmhlYWRpbmcge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XG4gIGZvbnQtc2l6ZTogMS42NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbi5ydGUgLmhlYWRpbmdMaXN0LFxuLnJ0ZSAuc3ViaGVhZGluZ0xpc3QsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5oZWFkaW5nTGlzdCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLnN1YmhlYWRpbmdMaXN0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4ucnRlIGgzLmhlYWRpbmdMaXN0LFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBoMy5oZWFkaW5nTGlzdCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG4ucnRlIGg0LnN1YmhlYWRpbmdMaXN0LFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBoNC5zdWJoZWFkaW5nTGlzdCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnJ0ZSBoNC5zdWJoZWFkaW5nLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBoNC5zdWJoZWFkaW5nIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICBmb250LXNpemU6IDEuMzVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG4ucnRlIC5sYXJnZVRleHQsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5sYXJnZVRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyNXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnJ0ZSAubGFyZ2VUZXh0IGEsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5sYXJnZVRleHQgYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xufVxuLnJ0ZSAubGFyZ2VUZXh0OmJlZm9yZSxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDBweDtcbiAgdG9wOiAwcHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIHRyYW5zaXRpb246IGhlaWdodCAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMTAwMG1zO1xufVxuLmN1cnJlbnQgLnJ0ZSAubGFyZ2VUZXh0OmJlZm9yZSxcbi5jdXJyZW50ICNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dDpiZWZvcmUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucnRlIC5oaWdobGlnaHQsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYnJhbmQtYnJpZ2h0KSBjYWxjKDAuMyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG59XG4ucnRlIHVsLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCB1bCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ucnRlIHVsID4gbGksXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHVsID4gbGkge1xuICBtYXJnaW4tbGVmdDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnJ0ZSB1bCA+IGxpOjptYXJrZXIsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHVsID4gbGk6Om1hcmtlciB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG59XG4ucnRlIG9sLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBvbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogY291bnRlcjtcbn1cbi5ydGUgb2wgPiBsaSxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgb2wgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ucnRlIG9sID4gbGk6YmVmb3JlLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBvbCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIoY291bnRlcikgXCIuIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnJ0ZSBhLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBhIHtcbiAgY29sb3I6IHZhcigtLWxpbmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW5rLWNvbnRyYXN0KTtcbn1cblxuLmNhbGxvdXRTdWJ0bGUge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAxZW0gMCAwLjRlbTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXktY29udHJhc3QpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhbGxvdXRTdWJ0bGUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleS1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhbGxvdXRTdWJ0bGUgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAuY2FsbG91dFN1YnRsZSBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG59XG4uaWUgLmNhbGxvdXRTdWJ0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuLmNhbGxvdXRTdWJ0bGUgYS5mb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG59XG4uY2FsbG91dFN1YnRsZSBhOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cblxuLmNhbGxvdXRCb2xkIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMikpO1xufVxuLmNhbGxvdXRCb2xkIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jYWxsb3V0Qm9sZCBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5jYWxsb3V0Qm9sZCBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG59XG4uaWUgLmNhbGxvdXRCb2xkIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbi5jYWxsb3V0Qm9sZCBhLmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbi5jYWxsb3V0Qm9sZCBhOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cblxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEgLnJ0ZSB7XG4gIGNvbG9yOiB2YXIoLS1saWdodCk7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbiAgd2lkdGg6IDM1MHB4O1xuICBoZWlnaHQ6IDM1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNmVtO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkIG9rbGNoKGZyb20gdmFyKC0tYnJhbmQtYnJpZ2h0KSBtaW4obCArIGwgKiAwLjMsIDEpIGMgaCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5pY29uIHtcbiAgICB3aWR0aDogMzAlO1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgZm9udC1zaXplOiA2ZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSAuaWNvbiB7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgb2tsY2goZnJvbSB2YXIoLS1icmFuZC1icmlnaHQpIG1pbihsICsgbCAqIDAuMywgMSkgYyBoKTtcbiAgfVxufVxuLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2UgLmVycm9yV3JhcCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGNvbG9yOiB2YXIoLS1saWdodCk7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuaWNvbiB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGZvbnQtc2l6ZTogOGVtO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYigxNjcsIDE5NiwgMjIxKTtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA0MHB4IDMwcHggMjBweCAzMHB4O1xuICB3aWR0aDogNTAlO1xufVxuLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2UgLnJ0ZSBoMy5oZWFkaW5nIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDZlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5lcnJvcldyYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDVlbTtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiKDE2NywgMTk2LCAyMjEpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgZGV0YWlscyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xuICB9XG4gIGRldGFpbHMgPiBzdW1tYXJ5OjptYXJrZXIsXG4gIGRldGFpbHMgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAuYWNjb3JkaW9uTW9kdWxlW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PXRydWVdOm5vdCguaW50ZXJhY3RlZFdpdGgpIC5pY29uLW1hbmRhdG9yeSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuYWNjb3JkaW9uTW9kdWxlW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PXRydWVdOm5vdCguaW50ZXJhY3RlZFdpdGgpIC5pbnRlcmFjdGlvbk5vdGlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcC1wYXRoOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gIH1cbn1cbi5wcmltYXJ5QWNjb3JkaW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwcHggMDtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uW29wZW5dIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uW29wZW5dID4gLmFjY29yZGlvblRpdGxlIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pIDBweCAwcHg7XG59XG4ucHJpbWFyeUFjY29yZGlvbltvcGVuXSA+IC5hY2NvcmRpb25UaXRsZSAuaWNvbi1hcnJvdy1kb3duIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG4ucHJpbWFyeUFjY29yZGlvbltkYXRhLWludGVyYWN0aW9uLW1hbmRhdG9yeT10cnVlXTpub3QoLmludGVyYWN0ZWRXaXRoKSAuaWNvbi1tYW5kYXRvcnkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtM3B4O1xuICB0b3A6IC0zcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBwYWRkaW5nOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCA0MHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlOmhvdmVyIC5pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG5bZGF0YS1icm93c2VyPWllXSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZS5mb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGUuZm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpmb2N1cy12aXNpYmxlIC5pY29uIHtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGUgLmljb24tYXJyb3ctZG93biB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMThweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNpdGlvbjogMC4ycyB0cmFuc2Zvcm07XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGUgLmljb24tYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIndcIjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uV3JhcHBlciB7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDBweCB2YXIoLS1yYWRpdXMtc20pIHZhcigtLXJhZGl1cy1zbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25XcmFwcGVyIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ucHJpbWFyeUFjY29yZGlvbiArIC5ydGUge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufSIsIkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vKi0tLVRFWFQgQU5EIEZPTlQtLS0qL1xuXG4vLy8gQ3JlYXRlIGEgdGV4dC1zaGFkb3cgd2l0aCBjbGVhcmVyIHByb3BlcnRpZXMuXG4vLy8gQHBhcmFtIHsqfSAkeCBbMHB4XVxuLy8vIEBwYXJhbSB7Kn0gJHkgWzFweF1cbi8vLyBAcGFyYW0geyp9ICRibHVyIFswcHhdXG4vLy8gQHBhcmFtIHsqfSAkY29sb3IgW3JnYmEoMCwgMCwgMCwgMC43NSldXG5AbWl4aW4gdGV4dFNoYWRvdygkeDogMHB4LCAkeTogMXB4LCAkYmx1cjogMHB4LCAkY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSkpIHtcbiAgdGV4dC1zaGFkb3c6ICR4ICR5ICRibHVyICRjb2xvcjtcbn1cblxuLy8vIFNldCBpY29uIGZvbnQgYW5kIG5vcm1hbGl6ZSBhbGwgcHJvcGVydGllcy5cbi8vLyBAcGFyYW0geyp9ICRmb250IFskaWNvbkZvbnRdXG5AbWl4aW4gaWNvbkZvbnQoJGZvbnQ6ICRpY29uRm9udCkge1xuICBmb250LWZhbWlseTogJGZvbnQgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8qLS0tQkFDS0dST1VORC0tLSovXG5cbi8vLyBTZXRzIGJhY2tncm91bmQgdG8gY292ZXIgd2l0aCA1MCUgNTAlIHBvc2l0aW9uLlxuQG1peGluIGJhY2tncm91bmRDb3ZlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cbi8vLyBTZXRzIGhlaWdodCBhbmQgd2lkdGggdG8gMTAwJS5cbkBtaXhpbiBmaWxsU3BhY2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLy8gQ3JlYXRlIGEgYm94IHNoYWRvdyB3aXRoIGNsZWFyZXIgcHJvcGVydGllcy5cbi8vLyBAcGFyYW0geyp9ICR4IFswcHhdXG4vLy8gQHBhcmFtIHsqfSAkeSBbMHB4XVxuLy8vIEBwYXJhbSB7Kn0gJGJsdXIgWzJweF1cbi8vLyBAcGFyYW0geyp9ICRzcHJlYWQgWzJweF1cbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjIpXVxuQG1peGluIGJveFNoYWRvdygkeDogMHB4LCAkeTogMHB4LCAkYmx1cjogMnB4LCAkc3ByZWFkOiAycHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpKSB7XG4gIGJveC1zaGFkb3c6ICR4ICR5ICRibHVyICRzcHJlYWQgJGNvbG9yO1xufVxuXG4vLy8gQ3JlYXRlIGEgYm94IHNoYWRvdyB3aXRoIGNsZWFyZXIgcHJvcGVydGllcy5cbi8vLyBAcGFyYW0geyp9ICR4IFswcHhdXG4vLy8gQHBhcmFtIHsqfSAkeSBbMXB4XVxuLy8vIEBwYXJhbSB7Kn0gJGJsdXIgWzNweF1cbi8vLyBAcGFyYW0geyp9ICRzcHJlYWQgWzBweF1cbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjIpXVxuQG1peGluIHNoYWRvdy1pbnNldCgkeDogMHB4LCAkeTogMXB4LCAkYmx1cjogM3B4LCAkc3ByZWFkOiAwcHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpKSB7XG4gIGJveC1zaGFkb3c6IGluc2V0ICR4ICR5ICRibHVyICRzcHJlYWQgJGNvbG9yO1xufVxuXG4vKi0tLVBPU0lUSU9OSU5HLS0tKi9cblxuLy8vIFNldHMgZWxlbWVudCB0byBwb3NpdGlvbiBhYnNvbHV0ZSB0byB3aXRoIHRvcDogMCBhbmQgbGVmdDogMDtcbkBtaXhpbiBhYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4vLy8gU2V0cyBlbGVtZW50IHRvIHBvc2l0aW9uIGZpeGVkIHRvIHdpdGggdG9wOiAwIGFuZCBsZWZ0OiAwO1xuQG1peGluIGZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi8vLyBSZXNldHMgcG9zaXRpb24gcHJvcGVydGllcyAodG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0KS5cbi8vLyBAcGFyYW0geyp9ICRwb3MgW3JlbGF0aXZlXSAtIFNldHMgdGhlIHBvc2l0aW9uIHByb3BlcnR5LlxuQG1peGluIHJlc2V0UG9zKCRwb3M6IHJlbGF0aXZlKSB7XG4gIHBvc2l0aW9uOiAkcG9zO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgYW4gZWxlbWVudCB1c2luZyBwb3NpdGlvbiBhYnNvbHV0ZSBhbmQgdHJhbnNmb3Jtcy5cbi8vLyBAcGFyYW0ge251bWJlcn0gJHBlcmNlbnQgWzUwJV0gLSBQcm9wZXJ0eSB0b3AgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge251bWJlcn0gJHRyYW5zIFs1MCVdIC0gUHJvcGVydHkgdHJhbnNsYXRlWSBwZXJjZW50YWdlLlxuQG1peGluIHZlcnRDZW50ZXIoJHBlcmNlbnQ6IDUwJSwgJHRyYW5zOiA1MCUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRwZXJjZW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFucyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnMpO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIGFuIGVsZW1lbnQgdXNpbmcgcG9zaXRpb24gYWJzb2x1dGUgYW5kIHRyYW5zZm9ybXMuXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRwZXJjZW50IFs1MCVdIC0gUHJvcGVydHkgbGVmdCBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdHJhbnMgWzUwJV0gLSBQcm9wZXJ0eSB0cmFuc2xhdGVYIHBlcmNlbnRhZ2UuXG5AbWl4aW4gaG9yekNlbnRlcigkcGVyY2VudDogNTAlLCAkdHJhbnM6IDUwJSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6ICRwZXJjZW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFucyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnMpO1xufVxuXG5AbWl4aW4gdmVydEhvcnpDZW50ZXIge1xuICBAaW5jbHVkZSB2ZXJ0Q2VudGVyO1xuICBAaW5jbHVkZSBob3J6Q2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIERvZXMgd2hhdCBpdCBzYXlzIG9uIHRoZSB0aW4uIFNldHMgbWFyZ2luIGFuZCBwYWRkaW5nIHRvIDAuXG5AbWl4aW4gemVyb01hcmdQYWQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qLS0tQ09OVEVOVC0tLSovXG5cbi8vLyBVc2VkIGluc2lkZSA6OmJlZm9yZSBhbmQgOjphZnRlciBlbGVtZW50cy4gU2V0cyB3aWR0aCBhbmQgaGVpZ2h0IHRvIDEwMCUuXG5AbWl4aW4gcHNldWRvQ29udGVudCB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLy8gQ3JlYXRlcyBhbiA6OmFmdGVyIGVsZW1lbnQgdG8gcHJldmVudCBmbG9hdCBvdmVybGFwLlxuQG1peGluIGNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8qLS0tTElTVFMtLS0qL1xuXG4vLy8gUmVtb3ZlIGxpc3Qgc3R5bGluZywgbWFyZ2luLCBhbmQgcGFkZGluZy5cbkBtaXhpbiByZWZvcm1hdExpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIEBpbmNsdWRlIHplcm9NYXJnUGFkO1xuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSB6ZXJvTWFyZ1BhZDtcbiAgfVxufVxuXG4vKi0tLUJPUkRFUiBBUlJPV1MtLS0qL1xuLy8vIERyYXcgYW4gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcbi8vLyBAcGFyYW0ge3ZhcmlhYmxlfSAkZGlyIFt0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIHRvcFJpZ2h0LCBib3R0b21SaWdodCwgdG9wTGVmdCwgYm90dG9tTGVmdF1cbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cbi8vLyBAcGFyYW0ge251bWJlcn0gJGhlaWdodCBbMjBweF1cbi8vLyBAcGFyYW0ge251bWJlcn0gJHdpZHRoIFszMHB4XVxuQG1peGluIGNzc0Fycm93KCRkaXIsICRjb2xvcjogdmFyKC0tYnJhbmQtZGFyayksICRoZWlnaHQ6IDIwcHgsICR3aWR0aDogMjBweCkge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIEBpZiAkZGlyID09dG9wIHtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYygjeyR3aWR0aH0gLyAyKSAkaGVpZ2h0IGNhbGMoI3skd2lkdGh9IC8gMik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICB9IEBlbHNlIGlmICRkaXIgPT1yaWdodCB7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKCN7JGhlaWdodH0gLyAyKSAwIGNhbGMoI3skaGVpZ2h0fSAvIDIpICR3aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICB9IEBlbHNlIGlmICRkaXIgPT1ib3R0b20ge1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCBjYWxjKCN7JHdpZHRofSAvIDIpIDAgY2FsYygjeyR3aWR0aH0gLyAyKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gIH0gQGVsc2UgaWYgJGRpciA9PWxlZnQge1xuICAgIGJvcmRlci13aWR0aDogY2FsYygjeyRoZWlnaHR9IC8gMikgJHdpZHRoIGNhbGMoI3skaGVpZ2h0fSAvIDIpIDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gIH0gQGVsc2UgaWYgJGRpciA9PXRvcFJpZ2h0IHtcbiAgICBib3JkZXItd2lkdGg6IDAgJGhlaWdodCAkd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAkZGlyID09Ym90dG9tUmlnaHQge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRoZWlnaHQgJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAkZGlyID09Ym90dG9tTGVmdCB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0IDAgMCAkd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAkZGlyID09dG9wTGVmdCB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aCAwIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIGRpcmVjdGlvbiAjeyRkaXJ9LlwiO1xuICB9XG59XG5cbi8vLyBEcmF3IGEgZG93biBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZUxSIFskc2l6ZV1cbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cbi8vLyBAcGFyYW0ge251bWJlcn0gJGxlZnQgW2F1dG9dXG5AbWl4aW4gcmlnaHRBcnJvdygkc2l6ZTogOHB4LCAkc2l6ZVRCOiAkc2l6ZSwgJGNvbG9yOiAkbGlnaHQsICR0b3A6IGF1dG8sICRyaWdodDogYXV0bykge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJHNpemUgc29saWQgJGNvbG9yO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkdG9wO1xuICByaWdodDogJHJpZ2h0O1xufVxuXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemUgWzhweF1cbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemVMUiBbJHNpemVdXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0b3AgW2F1dG9dXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsZWZ0IFthdXRvXVxuQG1peGluIGxlZnRBcnJvdygkc2l6ZTogOHB4LCAkc2l6ZVRCOiAkc2l6ZSwgJGNvbG9yOiAkbGlnaHQsICR0b3A6IGF1dG8sICRsZWZ0OiBhdXRvKSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6ICRzaXplVEIgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRzaXplVEIgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR0b3A7XG4gIGxlZnQ6ICRsZWZ0O1xufVxuXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemUgWzhweF1cbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemVMUiBbJHNpemVdXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0b3AgW2F1dG9dXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsZWZ0IFthdXRvXVxuQG1peGluIHRvcEFycm93KCRzaXplOiA4cHgsICRzaXplTFI6ICRzaXplLCAkY29sb3I6ICRsaWdodCwgJHRvcDogYXV0bywgJGxlZnQ6IGF1dG8pIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6ICRzaXplTFIgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHRvcDtcbiAgbGVmdDogJGxlZnQ7XG59XG5cbi8vLyBEcmF3IGEgZG93biBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZUxSIFskc2l6ZV1cbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cbi8vLyBAcGFyYW0ge251bWJlcn0gJGxlZnQgW2F1dG9dXG5AbWl4aW4gYm90dG9tQXJyb3coJHNpemU6IDhweCwgJHNpemVMUjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkbGVmdDogYXV0bykge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkc2l6ZUxSIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkdG9wO1xuICBsZWZ0OiAkbGVmdDtcbn1cblxuLy8vIEEga2luZCBvZiBoYWNreSBtaXhpbiB0byBmb3JjZSB0aGUgYnJvd3NlciB0byB1c2UgYSBHUFUgdG8gcmVuZGVyIHRoZSBlbGVtZW50LlxuQG1peGluIHVzZUdQVSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuXG4vLy8gVmlkZW8gYmFja2dyb3VuZCBzaXplLlxuLy8vIEBwYXJhbSB7Kn0gJGJnSW1nIC0gVGhlIGJhY2tncm91bmQgaW1hZ2UuIEluIHRoZSBmb3JtIG9mIHVybCgvaW1hZ2UvbXktaW1hZ2UuanBnKS5cbkBtaXhpbiB2aWRlb0JHKCRiZ0ltZykge1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IC0xMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGJnSW1nO1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmRDb3ZlcjtcbiAgfVxufVxuXG4vKipGb3JtcyoqL1xuXG4vLy8gSW5wdXQgUGxhY2Vob2xkZXIgc3R5bGluZ1xuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbbGlnaHRlbigkYmFzaWMsIDYwJSldIC0gVGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciB0ZXh0LlxuLy8vIEBwYXJhbSB7Kn0gJHN0eWxlIFtpdGFsaWNdIC0gRm9udCBzdHlsZS5cbi8vLyBAcGFyYW0geyp9ICRmb250IFskYmFzaWNGb250XSAtIEZvbnQgZmFtaWx5LlxuLy8vIEBwYXJhbSB7Kn0gJHNpemUgWzFlbV0gLSBGb250IHNpemUuXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiB2YXIoLS1kYXJrLWdyZXkpLCAkc3R5bGU6IGl0YWxpYywgJGZvbnQ6ICRiYXNpY0ZvbnQsICRzaXplOiAxZW0pIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGZvbnQ6IHtcbiAgICAgIHN0eWxlOiAkc3R5bGU7XG4gICAgICBmYW1pbHk6ICRmb250O1xuICAgICAgc2l6ZTogJHNpemU7XG4gICAgfVxuICB9XG5cbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBGaXJlZm94IDE4LSAqL1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBmb250OiB7XG4gICAgICBzdHlsZTogJHN0eWxlO1xuICAgICAgZmFtaWx5OiAkZm9udDtcbiAgICAgIHNpemU6ICRzaXplO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGZvbnQ6IHtcbiAgICAgIHN0eWxlOiAkc3R5bGU7XG4gICAgICBmYW1pbHk6ICRmb250O1xuICAgICAgc2l6ZTogJHNpemU7XG4gICAgfVxuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBmb250OiB7XG4gICAgICBzdHlsZTogJHN0eWxlO1xuICAgICAgZmFtaWx5OiAkZm9udDtcbiAgICAgIHNpemU6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQnJlYWtzIGxvbmcgd29yZHMgYW5kIHVybHNcbi8vLyBAYXV0aG9yIEthcmwgUm9zc1xuQG1peGluIHdvcmRCcmVhayB7XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuXG4gIC8qIEFkZHMgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzLCBpZiBzdXBwb3J0ZWQgKE5vIEJsaW5rKSAqL1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG59XG5cbi8vLyBIaWRlcyBhbiBlbGVtZW50IGJ1dCBzdGlsbCBhbGxvd3MgaXQgdG8gYmUgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxuQG1peGluIHNjcmVlblJlYWRlcigpIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwLXBhdGg6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gRml4ZXMgbGVnZW5kcyBvbiBvbGRlciBicm93c2VycyBhbmQgc21hbGxlciBicm93c2Vycy5cbkBtaXhpbiBsZWdlbmRGaXgge1xuICAvL1RoaXMgZml4ZXMgZm9yIHJlc3BvbnNpdmVcbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIEVuYWJsZSBsaW5lLXdyYXBwaW5nIGluIElFOCsgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gb2xkIHZlcnNpb25zIG9mIHNvbWUgb3RoZXIgYnJvd3NlcnMgKi9cbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vLyBTdHlsZSBzY3JvbGxiYXJzIHdpdGggYWxsIGJyb3dzZXIgdmVuZG9yIHByb3BlcnRpZXMuXG4vLy8gQGF1dGhvciBLb3VydG5leSBTdHJpY2tsYW5kXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCBbNXB4XSAtIFRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLlxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbIzQ0NDQ0NF0gLSBUaGUgY29sb3Igb2YgdGhlIHNjcm9sbCBrbm9iLlxuLy8vIEBwYXJhbSB7Y29sb3J9ICRiZ0NvbG9yIFsjZjVmNWY1XSAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzY3JvbGxiYXIuXG4vLy8gQHBhcmFtIHtib29sZWFufSAkc2hhZG93IFt0cnVlXSAtIFdoZXRoZXIgdG8gZHJhdyBhIGJveCBzaGFkb3cgb24gdGhlIHNjcm9sbGJhci5cbkBtaXhpbiBzY3JvbGxiYXIoJHdpZHRoOiA1cHgsICRjb2xvcjogIzQ0NDQ0NCwgJGJnQ29sb3I6ICNmNWY1ZjUsICRzaGFkb3c6IHRydWUpIHtcbiAgLy8gTm9uc3RhbmRhcmQgd2Via2l0IHByb3BlcnRpZXMsIHdvcmtzIG9uIENocm9tZSwgTW9kZXJuIEVkZ2UsIGFuZCBTYWZhcmlcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIEBpZiAkc2hhZG93IHtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3I7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICR3aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvcjtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAvLyBUaGUgcHJvcGVyLCBzdGFuZGFyZCB3YXkgdG8gc3R5bGUgc2Nyb2xsYmFycy4gU3VwcG9ydGVkIGluIEZpcmVmb3gsIEVkZ2UgMTIxKywgYW5kIENocm9tZSAxMjErXG4gIHNjcm9sbGJhci1jb2xvcjogJGNvbG9yICRiZ0NvbG9yO1xuXG4gIEBpZiAoJHdpZHRoIDwgMTVweCkge1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXG4vLy8gQGF1dGhvciBLb3VydG5leSBTdHJpY2tsYW5kXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRqdXN0aWZ5IFtzcGFjZS1iZXR3ZWVuXSAtIFRoZSBqdXN0aWZ5LWNvbnRlbnQgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleEp1c3RpZnkoJGRpcjogcm93LCAkanVzdGlmeTogc3BhY2UtYmV0d2Vlbikge1xuICAvL2FsdGVybmF0ZSB3b3VsZCBiZSBzcGFjZS1hcm91bmRcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGluIGNlbnRlci5cbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGRpciBbcm93XSAtIFRoZSBmbGV4LWRpcmVjdGlvbiBvZiB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4Q2VudGVyKCRkaXI6IHJvdykge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGF0IHRoZSBlbmQuXG4vLy8gQGF1dGhvciBLb3VydG5leSBTdHJpY2tsYW5kXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleEVuZCgkZGlyOiByb3cpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGF0IHRoZSBzdGFydC5cbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGRpciBbcm93XSAtIFRoZSBmbGV4LWRpcmVjdGlvbiBvZiB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4U3RhcnQoJGRpcjogcm93KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleGlibGUgaG9yaXpvbnRhbCBsYXlvdXQgb2YgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNoaWxkIGVsZW1lbnRzIG9mIGVxdWFsIHdpZHRoLlxuLy8vIFZlcnkgdXNlZnVsIGZvciBzb21ldGhpbmcgbGlrZSBhIG1haW4gbmF2IHRoYXQgdHJhbnNpdGlvbnMuIEJlY2F1c2UgZXZlcnl0aGluZyBpcyBhbHJlYWR5IGFic29sdXRlLFxuLy8vIHlvdSBjYW4gZWFzaWx5IG1vdmUgc2VjdGlvbnMgb3V0IGFuZCBpbiB1c2luZyB0aGUgdG9wL2xlZnQgcHJvcGVydGllcy5cbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRtYXgtbnVtLW9mLWNoaWxkcmVuIFs3XSAtIElmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZXhjZWVkcyB0aGlzIG51bWJlciwgdGhlIGxheW91dCB3aWxsIGJyZWFrLlxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkb3JpZW50YXRpb24gW3ZlcnRpY2FsXSAtIFRoZSBkaXJlY3Rpb24gb2YgdGhlIGZsZXggY29udGFpbmVyLiBFaXRoZXIgXCJ2ZXJ0aWNhbFwiIG9yIFwiaG9yaXpvbnRhbFwiLlxuQG1peGluIGFic29sdXRlRmxleCgkbWF4LW51bS1vZi1jaGlsZHJlbjogNywgJG9yaWVudGF0aW9uOiBcInZlcnRpY2FsXCIsICRndXR0ZXI6IDAlKSB7XG4gIEBpZiB0eXBlLW9mKCRtYXgtbnVtLW9mLWNoaWxkcmVuKSAhPW51bWJlciB7XG4gICAgQGVycm9yIFwiSW5wdXQgYCRtYXgtbnVtLW9mLWNoaWxkcmVuYCBtdXN0IGJlIGEgbnVtYmVyLlwiO1xuICB9XG5cbiAgQGlmICRvcmllbnRhdGlvbiAhPSBcImhvcml6b250YWxcIiBhbmQgJG9yaWVudGF0aW9uICE9IFwidmVydGljYWxcIiB7XG4gICAgQGVycm9yIFwiSW5wdXQgYCRtYXgtbnVtLW9mLWNoaWxkcmVuYCBtdXN0IGJlIHNldCB0byBlaXRoZXIgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGBcIjtcbiAgfVxuXG4gIEB3aGlsZSAkbWF4LW51bS1vZi1jaGlsZHJlbj4xIHtcbiAgICAkc2l6ZTogbWF0aC5kaXYoMTAwJSwgJG1heC1udW0tb2YtY2hpbGRyZW4pO1xuICAgICRndXR0ZXJTaXplT2Zmc2V0OiBtYXRoLmRpdigkZ3V0dGVyLCAkbWF4LW51bS1vZi1jaGlsZHJlbik7XG5cbiAgICAvLyBXZSBjYW4gZGV0ZWN0IHRoZSBudW1iZXIgb2YgaXRlbXMgYSBwYXJlbnQgaGFzIHB1cmVseSB3aXRoIENTUy4gQ3JhenksIGh1aCFcbiAgICA+ICo6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skbWF4LW51bS1vZi1jaGlsZHJlbn0pLFxuICAgID4gKjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRtYXgtbnVtLW9mLWNoaWxkcmVufSkgfiAqIHtcbiAgICAgIEBpZiAoJG9yaWVudGF0aW9uPT0gXCJob3Jpem9udGFsXCIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skc2l6ZX0gLSAjeyRndXR0ZXIgLSAkZ3V0dGVyU2l6ZU9mZnNldH0pO1xuICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyRzaXplfSAtICN7JGd1dHRlciAtICRndXR0ZXJTaXplT2Zmc2V0fSk7XG4gICAgICB9XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBhbmQgc2V0IGNoaWxkIHBvc2l0aW9uLlxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4LW51bS1vZi1jaGlsZHJlbiB7XG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgQGlmICgkb3JpZW50YXRpb249PSBcImhvcml6b250YWxcIikge1xuICAgICAgICAgICAgbGVmdDogY2FsYygjeyRzaXplICogJGkgLSAkc2l6ZX0gKyAjeyRndXR0ZXIgLSAkZ3V0dGVyU2l6ZU9mZnNldCAqICRpfSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XG4gICAgICAgICAgICB0b3A6ICRzaXplICogJGkgLSAkc2l6ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkbWF4LW51bS1vZi1jaGlsZHJlbjogJG1heC1udW0tb2YtY2hpbGRyZW4gLSAxO1xuICB9XG5cbiAgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cblxuLy8vIENyZWF0ZSBhIGJsdXIgZWZmZWN0IHdpdGggZmFsbGJhY2tzIGZvciB1bnN1cHBvcnRlZCBicm93c2Vycy5cbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIC0gVGhlIGJhY2tncm91bmQtY29sb3Igb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtudW19ICRvcGFjaXR5IFs4NSVdIC0gVGhlIGxldmVsIG9mIG9wYWNpdHkgZGVzaXJlZC5cbkBtaXhpbiBmcm9zdGVkR2xhc3MoJGNvbG9yOiAkbGlnaHQsICRvcGFjaXR5OiA4NSUpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRvcGFjaXR5KTtcblxuICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KSkge1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblxuICAgIEBpZiAoJG9wYWNpdHkgLSAyMCUgPiAwKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgJG9wYWNpdHkgLSAyMCUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGhvdmVyIHN0eWxpbmcgdGhhdCBwcmV2ZW50cyB0b3VjaCBldmVudHMgZnJvbSB0cmlnZ2VyaW5nXG4vLy8gc2luY2UgOTklIG9mIHRoZSB0aW1lIHRoYXQncyBub3Qgd2hhdCB5b3Ugd2FudC4gSW5jbHVkZXMgZmFsbGJhY2tzIGZvciBvbGRlciBicm93c2Vycy5cbi8vLyBXZSB1c2VkIHRvIHVzZSBhbnktcG9pbnRlcjogZmluZSBidXQgZm9yIHNvbWUgcmVhc29uIHRoYXQgd2FzIGFsd2F5cyByZXR1cm5pbmcgdHJ1ZVxuLy8vIG9uIEFuZHJvaWQgZGV2aWNlcywgZXZlbiB3aXRoIG5vIG1vdXNlIGF0dGFjaGVkLiBTbyBpdCdzIGJhY2sgdG8gcmVndWxhciBvbGQgcG9pbnRlcjogZmluZS5cbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXG4vLy8gQGNvbnRlbnRcbkBtaXhpbiBob3ZlcigpIHtcbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtYnJvd3Nlcj1cImllXCJdICY6aG92ZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLmllICY6aG92ZXIge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBEZWxpdmVycyBidWxsZXRwcm9vZiBmb2N1cy12aXNpYmxlIHN0eWxpbmcgd2l0aCBmYWxsYmFja3MgZm9yIG9sZGVyIGJyb3dzZXJzLiBSZXF1aXJlc1xuLy8vIGEgSlMgcG9seWZpbGwgKFdJQ0cgZm9jdXMtdmlzaWJsZSkgZm9yIG9sZGVyIGJyb3dzZXJzLlxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cbi8vLyBAY29udGVudFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2ZvY3VzLXZpc2libGVcbkBtaXhpbiBmb2N1cygpIHtcbiAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEBtaXhpbiBob3ZlciBhbmQgQG1peGluIGZvY3VzIHN0eWxpbmcgaW4gb25lIG1peGluLlxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cbi8vLyBAY29udGVudFxuQG1peGluIGhvdmVyQW5kRm9jdXMoKSB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWNjZXNzaWJsZSBiYWNrZ3JvdW5kcyEgRW5zdXJlIHlvdXIgZWxlbWVudHMgYWx3YXlzIGhhdmUgcHJvcGVyIGNvbnRyYXN0IGJ5IHNldHRpbmcgYm90aCBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBjb2xvciBwcm9wZXJ0aWVzLlxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cbi8vLyBAcGFyYW0ge3N0cmluZ30gJGJnIC0gVGhlIGJhY2tncm91bmQgdG8gdXNlIGZvciB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge3N0cmluZ30gJHRleHREYXJrIFtkYXJrXSAtIFRleHQgY29sb3IgdG8gdXNlIHdoZW4gZWxlbWVudCdzIGJhY2tncm91bmQgaXMgYWJvdmUgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuIE9ubHkgdXNlZCBpZiAkYmcgaXMgYSBzYXNzIHZhcmlhYmxlLlxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdGV4dExpZ2h0IFt3aGl0ZV0gLSBUZXh0IGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyBiYWNrZ3JvdW5kIGlzIGJlbG93IGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLiBPbmx5IHVzZWQgaWYgJGJnIGlzIGEgc2FzcyB2YXJpYWJsZS5cbkBtaXhpbiBiZ1dpdGhDb250cmFzdCgkYmcsICR0ZXh0RGFyazogYmxhY2ssICR0ZXh0TGlnaHQ6IHdoaXRlKSB7XG4gIC8vIENoZWNrIGlmIHBhcmFtZXRlciBpcyBhIGNzcyBjdXN0b20gcHJvcGVydHkuIFRoZSB2YWx1ZSBvZiBjdXN0b20gcHJvcGVydGllcyBhcmUgbm90XG4gIC8vIGtub3duIGF0IGNvbXBpbGUgdGltZSB0aGVyZWZvcmUgd2UgZG8gbm90IGNhbGN1bGF0ZSBjb250cmFzdCBoZXJlLlxuICBAaWYgKHN0cmluZy5pbmRleChcIiN7JGJnfVwiLCBcIi0tXCIpKSB7XG4gICAgJGJnOiB1bndyYXAtY3VzdG9tLXByb3AoJGJnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skYmd9KTtcbiAgICBjb2xvcjogdmFyKCN7JGJnfSN7LWNvbnRyYXN0fSk7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAgICRyYXRpb1dpdGhEYXJrOiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRiZywgJHRleHREYXJrKTtcbiAgICAkcmF0aW9XaXRoTGlnaHQ6IHdjYWctY29udHJhc3QtcmF0aW8oJGJnLCAkdGV4dExpZ2h0KTtcblxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA8IDMgYW5kICRyYXRpb1dpdGhMaWdodCA8IDMge1xuICAgICAgQGVycm9yIFwiVGhlIGNvbG9yICN7JGJnfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcbiAgICB9IEBlbHNlIGlmICRyYXRpb1dpdGhEYXJrIDwgNC41IGFuZCAkcmF0aW9XaXRoTGlnaHQgPCA0LjUge1xuICAgICAgQHdhcm4gXCJUaGUgY29sb3IgI3skYmd9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgNC41OjEuIFBsZWFzZSBjb25maXJtIHRoYXQgYW55IHRleHQgaW5zaWRlIHRoaXMgZWxlbWVudCBpcyBncmVhdGVyIHRoYW4gMThweC5cIjtcbiAgICB9XG5cbiAgICBAaWYgJHJhdGlvV2l0aERhcmsgPj0kcmF0aW9XaXRoTGlnaHQge1xuICAgICAgY29sb3I6ICR0ZXh0RGFyaztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkdGV4dExpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWNjZXNzaWJsZSB0ZXh0ISBFbnN1cmUgeW91ciBlbGVtZW50cyBhbHdheXMgaGF2ZSBwcm9wZXIgY29udHJhc3QgYnkgc2V0dGluZyBib3RoIGNvbG9yIGFuZCBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnRpZXMuXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdGV4dENvbG9yIC0gVGhlIHRleHQgY29sb3IgdG8gdXNlIGZvciB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge3N0cmluZ30gJGJnRGFyayBbZGFya10gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyB0ZXh0IGlzIGFib3ZlIGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLiBPbmx5IHVzZWQgaWYgJHRleHRDb2xvciBpcyBhIHNhc3MgdmFyaWFibGUuXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRiZ0xpZ2h0IFt3aGl0ZV0gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyB0ZXh0IGlzIGJlbG93IGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLiBPbmx5IHVzZWQgaWYgJHRleHRDb2xvciBpcyBhIHNhc3MgdmFyaWFibGUuXG5AbWl4aW4gY29sb3JXaXRoQ29udHJhc3QoJHRleHRDb2xvciwgJGJnRGFyazogYmxhY2ssICRiZ0xpZ2h0OiB3aGl0ZSkge1xuICAvLyBDaGVjayBpZiBwYXJhbWV0ZXIgaXMgYSBjc3MgY3VzdG9tIHByb3BlcnR5LiBUaGUgdmFsdWUgb2YgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdFxuICAvLyBrbm93biBhdCBjb21waWxlIHRpbWUgdGhlcmVmb3JlIHdlIGRvIG5vdCBjYWxjdWxhdGUgY29udHJhc3QgaGVyZS5cbiAgQGlmIChzdHJpbmcuaW5kZXgoXCIjeyR0ZXh0Q29sb3J9XCIsIFwiLS1cIikpIHtcbiAgICAkdGV4dENvbG9yOiB1bndyYXAtY3VzdG9tLXByb3AoJHRleHRDb2xvcik7XG4gICAgY29sb3I6IHZhcigjeyR0ZXh0Q29sb3J9KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skdGV4dENvbG9yfSN7LWNvbnRyYXN0fSk7XG4gIH0gQGVsc2Uge1xuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuXG4gICAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJHRleHRDb2xvciwgJGJnRGFyayk7XG4gICAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCR0ZXh0Q29sb3IsICRiZ0xpZ2h0KTtcblxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA8IDMgYW5kICRyYXRpb1dpdGhMaWdodCA8IDMge1xuICAgICAgQGVycm9yIFwiVGhlIGNvbG9yICN7JHRleHRDb2xvcn0gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiAzOjEuIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgY29sb3IgY29tYmluYXRpb24uXCI7XG4gICAgfSBAZWxzZSBpZiAkcmF0aW9XaXRoRGFyayA8IDQuNSBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgNC41IHtcbiAgICAgIEB3YXJuIFwiVGhlIGNvbG9yICN7JHRleHRDb2xvcn0gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiA0LjU6MS4gUGxlYXNlIGNvbmZpcm0gdGhhdCBhbnkgdGV4dCBpbnNpZGUgdGhpcyBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiAxOHB4LlwiO1xuICAgIH1cblxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA+PSRyYXRpb1dpdGhMaWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdEYXJrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnTGlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZXR1cm5zIGEgY29udHJhc3RpbmcgY29sb3IgdmFsdWUgdG8gdGhlIGdpdmVuIGNvbG9yLlxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cbi8vLyBAcGFyYW0ge3N0cmluZ30gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGNvbnRyYXN0IGFnYWluLlxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGFyayBbZGFya10gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuICRjb2xvciBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICRjb2xvciBpcyBhIHNhc3MgdmFyaWFibGUuXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRsaWdodCBbd2hpdGVdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiAkY29sb3IgaXMgYmVsb3cgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuIE9ubHkgdXNlZCBpZiAkY29sb3IgaXMgYSBzYXNzIHZhcmlhYmxlLlxuLy8vIEByZXR1cm4ge3N0cmluZ30gLSBMaWdodCBvciBkYXJrIGRlcGVuZGluZyBvbiB0aGUgY29sb3IgZ2l2ZW4uXG5AZnVuY3Rpb24gY2FsYy1jb250cmFzdCgkY29sb3IsICRkYXJrOiBibGFjaywgJGxpZ2h0OiB3aGl0ZSkge1xuICBAaWYgKHN0cmluZy5pbmRleChcIiN7JGNvbG9yfVwiLCBcIi0tXCIpKSB7XG4gICAgJGNvbG9yOiB1bndyYXAtY3VzdG9tLXByb3AoJGNvbG9yKTtcbiAgICBAcmV0dXJuIHZhcigjeyRjb2xvcn0jey1jb250cmFzdH0pO1xuICB9IEBlbHNlIHtcbiAgICAkcmF0aW9XaXRoRGFyazogd2NhZy1jb250cmFzdC1yYXRpbygkY29sb3IsICRkYXJrKTtcbiAgICAkcmF0aW9XaXRoTGlnaHQ6IHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkbGlnaHQpO1xuXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XG4gICAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skY29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgMzoxLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGNvbG9yIGNvbWJpbmF0aW9uLlwiO1xuICAgIH0gQGVsc2UgaWYgJHJhdGlvV2l0aERhcmsgPCA0LjUgYW5kICRyYXRpb1dpdGhMaWdodCA8IDQuNSB7XG4gICAgICBAd2FybiBcIlRoZSBjb2xvciAjeyRjb2xvcn0gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiA0LjU6MS4gUGxlYXNlIGNvbmZpcm0gdGhhdCBhbnkgdGV4dCBpbnNpZGUgdGhpcyBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiAxOHB4LlwiO1xuICAgIH1cblxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA+PSRyYXRpb1dpdGhMaWdodCB7XG4gICAgICBAcmV0dXJuICRkYXJrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkbGlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBmdW5jdGlvbiB2YXItcmdiYSgkY29sb3IsICRvcGFjaXR5OiAxKSB7XG4gICRvcGFjaXR5OiB2YWxpZGF0ZS1hbmQtd3JhcC1pZi1jdXN0b20tcHJvcCgkb3BhY2l0eSk7XG4gICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcblxuICAkcGVyY2VudGFnZTogY2FsYygjeyRvcGFjaXR5fSAqIDEwMCUpO1xuXG4gIEByZXR1cm4gY29sb3ItbWl4KGluIHNyZ2IsICN7JGNvbG9yfSAjeyRwZXJjZW50YWdlfSwgdHJhbnNwYXJlbnQpO1xufVxuXG5AZnVuY3Rpb24gdmFyLWxpZ2h0ZW4oJGNvbG9yLCAkYWRqdXN0bWVudDogMCUpIHtcbiAgQGlmIChnZXQtdW5pdCgkYWRqdXN0bWVudCkgPT0gXCIlXCIpIHtcbiAgICAkYWRqdXN0bWVudDogbWF0aC5kaXYoJGFkanVzdG1lbnQsIDEwMCUpO1xuICAgICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcblxuICAgIEByZXR1cm4gb2tsY2goZnJvbSAjeyRjb2xvcn0gbWluKGNhbGMobCArIChsICogI3skYWRqdXN0bWVudH0pKSwgI3sxfSkgYyBoKTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiVGhlIGFkanVzdG1lbnQgI3skYWRqdXN0bWVudH0gbXVzdCBiZSBhIHBlcmNlbnRhZ2UuXCI7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHZhci1kYXJrZW4oJGNvbG9yLCAkYWRqdXN0bWVudDogMCUpIHtcbiAgQGlmIChnZXQtdW5pdCgkYWRqdXN0bWVudCkgPT0gXCIlXCIpIHtcbiAgICAkYWRqdXN0bWVudDogbWF0aC5kaXYoJGFkanVzdG1lbnQsIDEwMCUpO1xuICAgICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcblxuICAgIEByZXR1cm4gb2tsY2goZnJvbSAjeyRjb2xvcn0gbWF4KGNhbGMobCAtIChsICogI3skYWRqdXN0bWVudH0pKSwgI3swfSkgYyBoKTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiVGhlIGFkanVzdG1lbnQgI3skYWRqdXN0bWVudH0gbXVzdCBiZSBhIHBlcmNlbnRhZ2UuXCI7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFja2dyb3VuZC1wb3NpdGlvbiBjc3MgYmFzZWQgb24gW2RhdGEtYmctcG9zPVwieCB5XCJdLlxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cbkBtaXhpbiBiZ1BvcygpIHtcbiAgJltkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAwJTtcbiAgfVxuXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbiAgfVxuXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7XG4gIH1cblxuICAmW2RhdGEtYmctcG9zPVwiY2VudGVyIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcbiAgfVxuXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXJcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIH1cblxuICAmW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgfVxuXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJTtcbiAgfVxuXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcbiAgfVxuXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcbiAgfVxufVxuXG4vLy8gVHJpZ2dlcnMgc3R5bGluZyBiYXNlZCBvbiB3aGV0aGVyIGEgZ2l2ZW4gZGlhbG9nIGlzIGFjdGl2ZSBvciBub3QuIENhbiBiZSB1c2VkIG5lc3RlZCBvciBzdGFuZGFsb25lLlxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cbi8vLyBAcGFyYW0ge3N0cmluZ30gJGlkIC0gVGhlIGlkIG9mIGEgZGlhbG9nLlxuLy8vIEBjb250ZW50IC0gb3B0aW9uYWxcbkBtaXhpbiBhY3RpdmVEaWFsb2coJGlkKSB7XG4gIEBpZiAmIHtcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiI3skaWR9XCJdICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiI3skaWR9XCJdIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVHJpZ2dlcnMgc3R5bGluZyBiYXNlZCBvbiB3aGV0aGVyIGEgZ2l2ZW4gem9uZSBpcyBhY3RpdmUgb3Igbm90LiBDYW4gYmUgdXNlZCBuZXN0ZWQgb3Igc3RhbmRhbG9uZS5cbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRpZCAtIFRoZSBpZCBvZiBhIHpvbmUuXG4vLy8gQGNvbnRlbnQgLSBvcHRpb25hbFxuQG1peGluIGFjdGl2ZVpvbmUoJGlkKSB7XG4gIEBpZiAmIHtcbiAgICBbZGF0YS1hY3RpdmUtem9uZT1cIiN7JGlkfVwiXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgW2RhdGEtYWN0aXZlLXpvbmU9XCIjeyRpZH1cIl0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZXR1cm5zIGFzcGVjdC1yYXRpbyB3aXRoIHN1cHBvcnQgZm9yIG9sZGVyIGJyb3dzZXJzIHVzaW5nIHBhZGRpbmctYm90dG9tIHBlcmNlbnRhZ2UgdHJpY2suXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxuLy8vIEBwYXJhbSB7bnVtfSAkaCAtIFRoZSBob3Jpem9udGFsIGFzcGVjdCByYXRpbyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge251bX0gJHYgLSBUaGUgdmVydGljYWwgYXNwZWN0IHJhdGlvIG9mIHRoZSBlbGVtZW50LlxuQG1peGluIGFzcGVjdFJhdGlvKCRoLCAkdikge1xuICBAc3VwcG9ydHMgKGFzcGVjdC1yYXRpbzogMSAvIDEpIHtcbiAgICBhc3BlY3QtcmF0aW86ICRoICN7XCIvXCJ9ICR2O1xuICB9XG5cbiAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxIC8gMSkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1ib3R0b206IG1hdGguZGl2KCR2LCAkaCkgKiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVHJpZ2dlcnMgc3R5bGluZyBiYXNlZCBvbiB3aGV0aGVyIGFueSBkaXNjb3ZlcnkgdG9vbCBkaWFsb2dzIGFyZSBhY3RpdmUuIENhbiBiZSB1c2VkIG5lc3RlZCBvciBzdGFuZGFsb25lLlxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cbi8vLyBAY29udGVudCAtIG9wdGlvbmFsXG5AbWl4aW4gZGlzY292ZXJ5VG9vbHNBY3RpdmUoKSB7XG4gIEBpZiAmIHtcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0XCJdICYsXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVwiXSAmLFxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJnbG9zc2FyeVwiXSAmLFxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJhY2hpZXZlbWVudHNcIl0gJixcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwicmVzb3VyY2VzXCJdICYsXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcUNvbmZpcm1RdWVzdGlvbk1lc3NhZ2VcIl0gJixcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxUXVlc3Rpb25TdWJtaXR0ZWRNZXNzYWdlXCJdICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0XCJdLFxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFcIl0sXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImdsb3NzYXJ5XCJdLFxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJhY2hpZXZlbWVudHNcIl0sXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cInJlc291cmNlc1wiXSxcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxQ29uZmlybVF1ZXN0aW9uTWVzc2FnZVwiXSxcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxUXVlc3Rpb25TdWJtaXR0ZWRNZXNzYWdlXCJdIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gd2NhZy1jb250cmFzdC1yYXRpbygkY29sb3IxLCAkY29sb3IyKSB7XG4gICRsMTogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbDI6IHdjYWctbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiBtYXRoLmRpdigkbDEsICRsMik7XG5cbiAgQGlmICRsMiA+JGwxIHtcbiAgICAkcmF0aW86IG1hdGguZGl2KDEsICRyYXRpbyk7XG4gIH1cblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIFJldHVybnMgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYCBhcyBhIGZsb2F0IChiZXR3ZWVuIDAgYW5kIDEpXG4vLy8gMSBpcyBwdXJlIHdoaXRlLCAwIGlzIHB1cmUgYmxhY2tcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvclxuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vLyBAbGluayBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmIFJlZmVyZW5jZVxuQGZ1bmN0aW9uIHdjYWctbHVtaW5hbmNlKCRjb2xvcikge1xuICAkcmdiOiAoXG4gICAgXCJyXCI6IGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcInJlZFwiLCAkc3BhY2U6IHJnYiksXG4gICAgXCJnXCI6IGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcImdyZWVuXCIsICRzcGFjZTogcmdiKSxcbiAgICBcImJcIjogY29sb3IuY2hhbm5lbCgkY29sb3IsIFwiYmx1ZVwiLCAkc3BhY2U6IHJnYilcbiAgKTtcblxuICBAZWFjaCAkY2hhbm5lbCwgJHZhbHVlIGluICRyZ2Ige1xuICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAyNTUpO1xuXG4gICAgQGlmICR2YWx1ZSA8IDAuMDM5Mjgge1xuICAgICAgJHZhbHVlOiBtYXRoLmRpdigkdmFsdWUsIDEyLjkyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlICsgMC4wNTUsIDEuMDU1KTtcbiAgICAgICR2YWx1ZTogbWF0aC5wb3coJHZhbHVlLCAyLjQpO1xuICAgIH1cblxuICAgICRyZ2I6IG1hcC5tZXJnZShcbiAgICAgICRyZ2IsXG4gICAgICAoXG4gICAgICAgICRjaGFubmVsOiAkdmFsdWVcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAobWFwLmdldCgkcmdiLCBcInJcIikgKiAwLjIxMjYpICsgKG1hcC5nZXQoJHJnYiwgXCJnXCIpICogMC43MTUyKSArIChtYXAuZ2V0KCRyZ2IsIFwiYlwiKSAqIDAuMDcyMik7XG59XG5cbkBmdW5jdGlvbiB2YWxpZGF0ZS1hbmQtd3JhcC1pZi1jdXN0b20tcHJvcCgkcHJvcCkge1xuICBAaWYgKHN0cmluZy5pbmRleCgjeyRwcm9wfSwgXCJ2YXIoXCIpKSB7XG4gICAgJHVud3JhcHBlZDogc3RyaW5nLnNsaWNlKCN7JHByb3B9LCAkc3RhcnQtYXQ6IHN0cmluZy5pbmRleCgjeyRwcm9wfSwgXCJ2YXIoXCIpICsgNCwgJGVuZC1hdDogc3RyaW5nLmxlbmd0aCgjeyRwcm9wfSkgLSAxKTtcbiAgICBAcmV0dXJuIHZhbGlkYXRlLWFuZC13cmFwLWlmLWN1c3RvbS1wcm9wKCR1bndyYXBwZWQpO1xuICB9IEBlbHNlIGlmIChzdHJpbmcuaW5kZXgoXCIjeyRwcm9wfVwiLCBcIi0tXCIpKSB7XG4gICAgQHJldHVybiB2YXIoI3skcHJvcH0pO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG5cbkBmdW5jdGlvbiB1bndyYXAtY3VzdG9tLXByb3AoJHByb3ApIHtcbiAgQGlmIChzdHJpbmcuaW5kZXgoI3skcHJvcH0sIFwidmFyKFwiKSkge1xuICAgICR1bndyYXBwZWQ6IHN0cmluZy5zbGljZSgjeyRwcm9wfSwgJHN0YXJ0LWF0OiBzdHJpbmcuaW5kZXgoI3skcHJvcH0sIFwidmFyKFwiKSArIDQsICRlbmQtYXQ6IHN0cmluZy5sZW5ndGgoI3skcHJvcH0pIC0gMSk7XG5cbiAgICBAaWYgKHN0cmluZy5pbmRleCgkdW53cmFwcGVkLCBcInZhcihcIikpIHtcbiAgICAgIEByZXR1cm4gdW53cmFwLWN1c3RvbS1wcm9wKCR1bndyYXBwZWQpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkdW53cmFwcGVkO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gc3RyLWxhc3QtaW5kZXgoJHN0cmluZywgJHN1YnN0cmluZykge1xuICAkbGFzdC1pbmRleDogbnVsbDtcbiAgJGxlbmd0aDogc3RyaW5nLmxlbmd0aCgkc3RyaW5nKTtcbiAgJHN1Yi1sZW5ndGg6IHN0cmluZy5sZW5ndGgoJHN1YnN0cmluZyk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGxlbmd0aCAtICRzdWItbGVuZ3RoICsgMSkge1xuICAgIEBpZiBzdHJpbmcuc2xpY2UoJHN0cmluZywgJGksICRpICsgJHN1Yi1sZW5ndGggLSAxKSA9PSRzdWJzdHJpbmcge1xuICAgICAgJGxhc3QtaW5kZXg6ICRpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3QtaW5kZXg7XG59XG5cbkBmdW5jdGlvbiBnZXQtdW5pdCgkdmFsdWUpIHtcbiAgQHJldHVybiBzdHJpbmcuc2xpY2UoJHZhbHVlICogMCArIFwiXCIsIDIsIC0xKTtcbn1cblxuQGZ1bmN0aW9uIHNsaWNlLWxpc3QoJGxpc3QsICRzdGFydCwgJGVuZDogbnVsbCkge1xuICAkZW5kOiBpZigkZW5kID09IG51bGwsIGxpc3QubGVuZ3RoKCRsaXN0KSwgJGVuZCk7XG4gICRyZXN1bHQ6ICgpO1xuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogbGlzdC5hcHBlbmQoJHJlc3VsdCwgbGlzdC5udGgoJGxpc3QsICRpKSk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vKiogREVGQVVMVCBPVkVSUklERVMgKiovXG5cbi8vLyBSZW1vdmUgYWxsIGRlZmF1bHQgc3R5bGVzIGZyb20gYnV0dG9uc1xuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxuQG1peGluIHJlc2V0QnV0dG9uKCkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gIHBhZGRpbmc6IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdW5zZXQ7XG59XG5cbi8vLyBBcHBseSBzdHlsaW5nIHRvIGEgcGFyZW50IGJhc2VkIG9uIG51bWJlciBvZiBjaGlsZHJlbi5cbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuIHRvIGNoZWNrLlxuLy8vIEBwYXJhbSB7Ym9vbGVhbn0gJG9yTW9yZSBbZmFsc2VdIC0gQXBwbGllcyBpZiBlbGVtZW50IGhhcyBhYm92ZSB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGNoaWxkcmVuLlxuLy8vIEBwYXJhbSB7Ym9vbGVhbn0gJG9yTGVzcyBbZmFsc2VdIC0gQXBwbGllcyBpZiBlbGVtZW50IGhhcyBiZWxvdyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGNoaWxkcmVuLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRpcC5jb20vbnVtYmVyLWVsZW1lbnRzLWhhcy1zZWxlY3Rvci9cbkBtaXhpbiBoYXNOdW1iZXJPZkNoaWxkcmVuKCRudW0sICRvck1vcmU6IGZhbHNlLCAkb3JMZXNzOiBmYWxzZSkge1xuICBAaWYgKCRvck1vcmUgPT10cnVlIGFuZCAkb3JMZXNzID09dHJ1ZSkge1xuICAgIEBlcnJvciBcIkFib3ZlIGFuZCBiZWxvdyBjYW5ub3QgYm90aCBiZSB0cnVlLlwiO1xuICB9XG5cbiAgQGlmICgkbnVtID09MCkge1xuICAgICY6bm90KDpoYXMoKikpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICgkb3JNb3JlID09dHJ1ZSkge1xuICAgICAgJjpoYXMoPiA6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRvckxlc3MgPT10cnVlKSB7XG4gICAgICAmOmhhcyg+IDpsYXN0LWNoaWxkOm50aC1jaGlsZCgtbiArICN7JG51bX0pKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aGFzKD4gOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFRyaWdnZXIgc3R5bGluZyBiYXNlZCBvbiB3aGV0aGVyIGFueSBkaWFsb2cgaXMgb3Blbi5cbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXG5AbWl4aW4gaXNBbnlEaWFsb2dPcGVuKCkge1xuICBAaWYgJiB7XG4gICAgaHRtbFtkYXRhLWRpYWxvZy1oaWRlLW92ZXJmbG93PVwidHJ1ZVwiXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgaHRtbFtkYXRhLWRpYWxvZy1oaWRlLW92ZXJmbG93PVwidHJ1ZVwiXSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJzaGFyZWQtbWl4aW5zXCIgYXMgKjtcblxuQGxheWVyIHJlc2V0IHtcbiAgLy8gQm94IHNpemluZyBydWxlc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgaHRtbCB7XG4gICAgbWluLWhlaWdodDogMTAwZHZoO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgfVxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlOyAvLyBDaGFuZ2luZyB0aGlzIHdpbGwgYnJlYWsgdGhlIHZhbHVlIG9mIC0tc2Nyb2xsYmFyLXdpZHRoLCBzbyBwcm9jZWVkIHdpdGggY2F1dGlvbi5cbiAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgfVxuXG4gIC8vIE1ha2UgaW1hZ2VzIGVhc2llciB0byB3b3JrIHdpdGhcbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gTmF0dXJhbCBmbG93IGFuZCByaHl0aG0gaW4gYXJ0aWNsZXMgYnkgZGVmYXVsdFxuICBhcnRpY2xlID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgfVxuXG4gIC8vIEluaGVyaXQgZm9udHMgZm9yIGlucHV0cyBhbmQgYnV0dG9uc1xuICBpbnB1dCxcbiAgYnV0dG9uLFxuICB0ZXh0YXJlYSxcbiAgc2VsZWN0IHtcbiAgICBmb250OiBpbmhlcml0O1xuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwLjM1ZW0gMCAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTVlbTtcbiAgfVxuXG4gIG9sLFxuICB1bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDAuNGVtIDAgMC43NWVtO1xuICB9XG5cbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBpZnJhbWUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG5AbGF5ZXIgYmFzZSB7XG4gIGJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgfVxuICBhIHtcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWxpbmspO1xuICAgIHBhZGRpbmctaW5saW5lOiAycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmspO1xuICAgIHRyYW5zaXRpb246IDAuMTVzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnRhcmdldEJsYW5rTm90aWZpZXIge1xuICAgICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xuICAgIH1cbiAgICAuaWNvbi1tYWlsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgIH1cblxuICAgIC5pY29uLWV4dGVybmFsLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcImhvbWVcIikge1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIH1cbn1cblxuLy8gRm9jdXMgc3R5bGVzXG4qOm5vdChhKSB7XG4gICY6Zm9jdXMtdmlzaWJsZSxcbiAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1mb2N1cy1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lLXN0eWxlOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXN0eWxlKSAhaW1wb3J0YW50O1xuICAgIG91dGxpbmUtd2lkdGg6IHZhcigtLWZvY3VzLW91dGxpbmUtd2lkdGgpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpIHZhcigtLWZvY3VzLXNoYWRvdy1jb2xvcikgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc29jaWFsTWVkaWFMb2dpbnMge1xuICBhOmZvY3VzLXZpc2libGUsXG4gIGEuZm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZS1jb2xvcjogdmFyKC0tZm9jdXMtb3V0bGluZS1jb2xvcikgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZS1zdHlsZTogdmFyKC0tZm9jdXMtb3V0bGluZS1zdHlsZSkgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lLXdpZHRoOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXdpZHRoKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSB2YXIoLS1mb2N1cy1zaGFkb3ctY29sb3IpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uXG5ib2R5W2RhdGEtcmVkdWNlLWFuaW1hdGlvbj1cInRydWVcIl0ge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuLy8gV2UncmUgbm8gbG9uZ2VyIHJlYWRpbmcgdGhlIGJyb3dzZXIgcHJlZmVyZW5jZSBhbmQgcmVseWluZyBzb2xlbHkgb24gdGhlIHVzZXIncyBzdG9yZWQgcHJlZmVyZW5jZS5cbi8vIEtlZXBpbmcgdGhpcyBjb2RlIGNvbW1lbnRlZCBvdXQgZm9yIHBvc3Rlcml0eSBiZWNhdXNlIHRoZSBqYXZhc2NyaXB0IGxvZ2ljIHdhcyB0cmlja3kgYW5kIGluIGNhc2Ugd2UgbmVlZCBpdCBhZ2Fpbi5cbi8vIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4vLyAgIGJvZHk6bm90KFtkYXRhLXJlZHVjZS1hbmltYXRpb249XCJmYWxzZVwiXSkge1xuLy8gICAgICosXG4vLyAgICAgKjo6YmVmb3JlLFxuLy8gICAgICo6OmFmdGVyIHtcbi8vICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4vLyAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4vLyAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbi8vICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuXG4vLyBTa2lwIEJ1dHRvbnNcbi5zbGlkZVNraXAsXG4uaG9tZVNraXAsXG4ubWVtYmVyc2hpcFNraXAge1xuICBAaW5jbHVkZSBzY3JlZW5SZWFkZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGZvY3VzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxMHB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XG4gIH1cbn1cblxuLmhvbWVTa2lwIHtcbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcImhvbWVcIikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5zbGlkZVNraXAge1xuICBAaW5jbHVkZSBhY3RpdmVab25lKFwic2xpZGVzXCIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubWVtYmVyc2hpcFNraXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcImdyaWRcIjtcclxuICBzcmM6XHJcbiAgICB1cmwoXCIvZm9udHMvZ3JpZC53b2ZmMj9yZ2NuNjRcIikgZm9ybWF0KFwid29mZjJcIiksXHJcbiAgICB1cmwoXCIvZm9udHMvZ3JpZC50dGY/cmdjbjY0XCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgdXJsKFwiL2ZvbnRzL2dyaWQud29mZj9yZ2NuNjRcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIi9mb250cy9ncmlkLnN2Zz9yZ2NuNjQjZ3JpZFwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuW2NsYXNzXj1cImljb24tXCJdLFxyXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xyXG4gIGZvbnQtZmFtaWx5OiBcImdyaWRcIiAhaW1wb3J0YW50O1xyXG4gIHNwZWFrOiBuZXZlcjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuLmljb24tc2xpZGVHcm91cEl0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDdcIjtcclxufVxyXG4uaWNvbi1zbGlkZUNhdGVnb3JpZXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwNlwiO1xyXG59XHJcbi5pY29uLXF1aWNrdmlldzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw2YVwiO1xyXG59XHJcbi5pY29uLWFycm93LXByZXZpb3VzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDZjXCI7XHJcbn1cclxuLmljb24tYXJyb3ctbmV4dDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw2ZFwiO1xyXG59XHJcbi5pY29uLXNsaWRlQ2hlY2tsaXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDM4XCI7XHJcbn1cclxuLmljb24tY2hlY2tsaXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDM4XCI7XHJcbn1cclxuLmljb24tYXJyb3ctc3dhcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XHJcbn1cclxuLmljb24tc2xpZGVGb3JtOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDJkXCI7XHJcbn1cclxuLmljb24tbWFpbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XHJcbn1cclxuLmljb24tZXJyb3JQYWdlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDc1XCI7XHJcbn1cclxuLmljb24tY2VydGlmaWNhdGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNzJcIjtcclxufVxyXG4uaWNvbi1zbGlkZXZpZXc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjlcIjtcclxufVxyXG4uaWNvbi1yZXNpemU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjlcIjtcclxufVxyXG4uaWNvbi1leHBhbmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcMjNcIjtcclxufVxyXG4uaWNvbi1zbGlkZUludGVyZXN0Qm9hcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwMlwiO1xyXG59XHJcbi5pY29uLXNsaWRlVmlkZW9HcmlkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDNmXCI7XHJcbn1cclxuLmljb24tc2xpZGVSZXZlYWxWaWRlbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFwyZlwiO1xyXG59XHJcbi5pY29uLXByaW50OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDUwXCI7XHJcbn1cclxuLmljb24tcGRmOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDFcIjtcclxufVxyXG4uaWNvbi1taW51czpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFwyYVwiO1xyXG59XHJcbi5pY29uLXBsdXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNWVcIjtcclxufVxyXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDc3XCI7XHJcbn1cclxuLmljb24tc2xpZGVXb3JkU2VhcmNoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDM1XCI7XHJcbn1cclxuLmljb24tc2xpZGVDb3B5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDYwXCI7XHJcbn1cclxuLmljb24tc2xpZGVNZW1vcnlHYW1lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDM0XCI7XHJcbn1cclxuLmljb24tc2xpZGVRdWl6OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDMyXCI7XHJcbn1cclxuLmljb24tc2xpZGVWaWRlbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFwzMVwiO1xyXG59XHJcbi5pY29uLXg6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjJcIjtcclxufVxyXG4uaWNvbi1zbGlkZVN1cnZleTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFwzNlwiO1xyXG59XHJcbi5pY29uLWV4dGVybmFsLWxpbms6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNmVcIjtcclxufVxyXG4uaWNvbi1jaGVjazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw2MVwiO1xyXG59XHJcbi5pY29uLWhvbWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjdcIjtcclxufVxyXG4uaWNvbi1tZW51OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDZmXCI7XHJcbn1cclxuLmljb24tb3B0aW9uYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcMmNcIjtcclxufVxyXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw1NFwiO1xyXG59XHJcbi5pY29uLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDdhXCI7XHJcbn1cclxuLmljb24tY29tbWVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw3M1wiO1xyXG59XHJcbi5pY29uLXNlYXJjaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw2NlwiO1xyXG59XHJcbi5pY29uLWNsb2NrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDc5XCI7XHJcbn1cclxuLmljb24tcGxheTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFwyNFwiO1xyXG59XHJcbi5pY29uLXBhdXNlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDI1XCI7XHJcbn1cclxuLmljb24tYWNjb3VudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw2YlwiO1xyXG59XHJcbi5pY29uLXNsaWRlU2VsZkRpcmVjdGVkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDM5XCI7XHJcbn1cclxuLmljb24tYWNoaWV2ZW1lbnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNzFcIjtcclxufVxyXG4uaWNvbi1mYXE6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNzhcIjtcclxufVxyXG4uaWNvbi1nbG9zc2FyeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw3NlwiO1xyXG59XHJcbi5pY29uLWxpbms6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjRcIjtcclxufVxyXG4uaWNvbi1sb2NrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDYzXCI7XHJcbn1cclxuLmljb24tbGVhcm4tbW9yZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw2OFwiO1xyXG59XHJcbi5pY29uLXNsaWRlSXRlbXNPZkludGVyZXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDY4XCI7XHJcbn1cclxuLmljb24tYW5ub3VuY2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNjVcIjtcclxufVxyXG4uaWNvbi1tYWludGVuYW5jZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw3ZVwiO1xyXG59XHJcbi5pY29uLXNsaWRlVGhpc09yVGhhdFF1aXo6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcMzBcIjtcclxufVxyXG4uaWNvbi1sb2dvdXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcMjFcIjtcclxufVxyXG4uaWNvbi1tZWRpYTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFw3MFwiO1xyXG59XHJcbi5pY29uLWFjY2Vzc2liaWxpdHk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcNDBcIjtcclxufVxyXG4uaWNvbi1zYXZlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXDUzXCI7XHJcbn1cclxuLmljb24tc2xpZGVSZXZlYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcMzNcIjtcclxufVxyXG4uaWNvbi1zbGlkZU1hc3RlclRlc3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcMzdcIjtcclxufVxyXG4uaWNvbi1tYW5kYXRvcnk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwNVwiO1xyXG59XHJcbi5pY29uLXNsaWRlQ2FsY3VsYXRvcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcIm1ldGEtbWl4aW5zXCIgYXMgKjtcblxuQGxheWVyIGJhc2Uge1xuICAuZmllbGRXcmFwcGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuXG4gICAgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGlucHV0OjotbXMtcmV2ZWFsLFxuICAgIGlucHV0OjotbXMtY2xlYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgZm9udC1zaXplOiAwLjg0ZW07XG4gICAgICBjb2xvcjogdmFyLXJnYmEoLS1iYXNpYywgMC44NSk7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB7XG4gICAgdGV4dGFyZWEge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd25XcmFwcGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCA1MHB4O1xuXG4gICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udHJvbFdyYXBwZXIsXG4gIC5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgZm9udC1zaXplOiAwLjg0ZW07XG4gICAgICBjb2xvcjogdmFyLXJnYmEoLS1iYXNpYywgMC44NSk7XG4gICAgfVxuICB9XG5cbiAgLy9UaGVzZSBzdHlsZSBpcyBqdXN0IHVzZWQgZm9yIHRoZSBIb25leXBvdCBmZWF0dXJlLiBUaGVzZSBzdHlsZXMga2VlcCB0aGUgZmllbGQgZnJvbSBiZWluZyBzZWVuIGJ5IGh1bWFucyBhbmQgdGhleSBzaG91bGQgbm90IGJlIGNoYW5nZWQgb3IgcmVtb3ZlZC5cbiAgLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgLnN0eWxlZEZpZWxkc2V0LFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyLXJnYmEoLS1saWdodC1ncmV5LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGVnZW5kLFxuICAgIC5ncm91cExlZ2VuZCB7XG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYmFzaWMpO1xuICAgIH1cblxuICAgIC5ncm91cExlZ2VuZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgIH1cblxuICAgIC5maWVsZHNldEdyaWQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgIGdhcDogMTJweDtcblxuICAgICAgLmZpZWxkV3JhcHBlcixcbiAgICAgIC5jb250cm9sV3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGRXcmFwcGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQge1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuXG4gICAgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDhweDtcbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XG4gICAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICAgIH1cblxuICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KC5pdGlfX3NlYXJjaC1pbnB1dCksXG4gICAgdGV4dGFyZWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgICAgIHBhZGRpbmc6IDIzcHggOHB4IDZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5zaG93SGlkZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogNTNweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcblxuICAgICAgICAuaWNvbjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1icmlnaHQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmW2FyaWEtY2hlY2tlZD1cInRydWVcIl0ge1xuICAgICAgICAuaWNvbjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNDVkZWcpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICB9XG4gICAgfVxuICAgICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMge1xuICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgIH1cbiAgICAjcmVxdWlyZW1lbnRzIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkc2xvdyBlYXNlLWluLW91dDtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgJi52YWxpZCB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1jb3JyZWN0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44OGVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMWVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLXdyb25nKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjFlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bldyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHtcbiAgICBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgICAgcGFkZGluZzogMjZweCA0NXB4IDhweCA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAudW1icmFjby1mb3Jtcy1maWVsZC5sb25nYW5zd2VyIHtcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogNTZweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgICAgcGFkZGluZzogNnB4IDhweCA2cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICBmb3JtLFxuICAuZm9ybVdyYXAge1xuICAgIC5lcnJvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS13cm9uZyk7XG4gICAgICAmOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcbiAgICAuc3R5bGVkRmllbGRzZXQsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgLmZpZWxkc2V0R3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xuICAgIC5jb250cm9sV3JhcHBlciB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkdGlueSkge1xuICAgIC5jb250cm9sV3JhcHBlciB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5maWVsZFdyYXBwZXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5jb250cm9sV3JhcHBlcixcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciB7XG4gID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4uc3R5bGVkRmllbGRzZXQsXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCB7XG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWZvcm1zXCI7XG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xuXG4jcmVxdWlyZW1lbnRzIHtcbiAgbGkge1xuICAgICYudmFsaWQge1xuICAgICAgLmljb24ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJhXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcblxud2lsbGlzLXpvbmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2luZXJ0XSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG53aWxsaXMtZGlhbG9nOm5vdChbZGF0YS1vcGVuPVwidHJ1ZVwiXSkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEhpZGUgaHRtbCBzY3JvbGxiYXIgd2hlbiB0aGVyZSdzIGFuIGFjdGl2ZSBkaWFsb2cuXG5odG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9XCJ0cnVlXCJdIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG5AbGF5ZXIgYmFzZSB7XG4gIC5kaWFsb2dCYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tc2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgQHN1cHBvcnRzIChoZWlnaHQ6IDEwMGR2aCkge1xuICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgfVxuXG4gICAgLnNsaWRlICYge1xuICAgICAgaGVpZ2h0OiAxMDAlOyAvL0FwcGxpZWQgdGhpcyBiZWNhdXNlIG9mIGlzc3VlcyByZXNwb25zaXZsZXkgd2l0aCBkaWFsb2dzIHdpdGhpbiB0aGUgc2xpZGVzIGF0IHNtYWxsZXIgc2NyZWVuIHNpemVzLiBJZiBpdCBtZXNzZXMgdGhpbmdzIHVwLCB3ZSBjYW4gcmVtb3ZlLiAtIEtTXG4gICAgfVxuICB9XG5cbiAgLmRpYWxvZ0lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIH1cblxuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XG4gICAgICB3aWR0aDogNTgwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgLmRpYWxvZ0lubmVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cImxhcmdlTW9kYWxcIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xuICAgICAgd2lkdGg6IDgwMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAuZGlhbG9nSW5uZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwic2hhZGVcIl0ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLmRpYWxvZ0xhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgIH1cblxuICAgICAgLmRpYWxvZ0NvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgfVxuXG4gICAgICAuZGlhbG9nQWN0aW9ucyB7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRpYWxvZ0lubmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyTGVmdFwiXSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcbiAgICAgIHdpZHRoOiA0NDBweDtcbiAgICB9XG4gIH1cblxuICBbZGF0YS1kaWFsb2ctc3R5bGVePVwiZnVsbFwiXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl0ge1xuICAgICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcbiAgICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cImdsYWNpYWxcIl0ge1xuICBhbmltYXRpb24tZHVyYXRpb246ICRnbGFjaWFsO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwidmVyeVNsb3dcIl0ge1xuICBhbmltYXRpb24tZHVyYXRpb246ICR2ZXJ5U2xvdztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cInNsb3dcIl0ge1xuICBhbmltYXRpb24tZHVyYXRpb246ICRzbG93O1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwibWVkaXVtXCJdIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkbWVkaXVtO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwiZmFzdFwiXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGZhc3Q7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJ2ZXJ5RmFzdFwiXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHZlcnlGYXN0O1xufVxuXG4uZGlhbG9nQmFja2Ryb3Age1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZHVyYXRpb246ICR2ZXJ5RmFzdDtcblxuICAmLmluIHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xuICB9XG5cbiAgJi5vdXQge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVJblwiXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlT3V0XCJdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVUb3BJblwiXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZVRvcE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlVG9wT3V0XCJdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVUb3BPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUJvdHRvbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZUJvdHRvbUluXCJdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21Jbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlQm90dG9tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIH1cbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZUJvdHRvbU91dFwiXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZVJpZ2h0SW5cIl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVJpZ2h0SW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZVJpZ2h0T3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZVJpZ2h0T3V0XCJdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodE91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlTGVmdEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVMZWZ0SW5cIl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlTGVmdE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlTGVmdE91dFwiXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdE91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlVG9wSW5cIl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BJbjtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVUb3BPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVUb3BPdXRcIl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BPdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVCb3R0b21JbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlQm90dG9tSW5cIl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21Jbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbU91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xuICB9XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlQm90dG9tT3V0XCJdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlUmlnaHRJblwiXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVJpZ2h0SW47XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVSaWdodE91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlUmlnaHRPdXRcIl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodE91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnRJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUxlZnRJblwiXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRJbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnRPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVMZWZ0T3V0XCJdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlTGVmdE91dDtcbn1cbiIsIi8vIFdpZHRoc1xuJHRlZW55OiAzODBweDtcbiR0aW55OiA0NTBweDtcbiR4eHM6IDUyMHB4O1xuJHhzOiA2NTBweDtcbiRzbTogODAwcHg7XG4kdHdlZW46IDkwMHB4O1xuJG1kOiAxMDUwcHg7XG4kbWlkOiAxMTgwcHg7XG4kbGc6IDEyODBweDtcbiR4bDogMTQyNXB4O1xuJHh4bDogMTYwMHB4O1xuXG4vLyBDb250YWluZXIgV2lkdGhzXG4keHNDb250YWluZXI6IDQwMHB4O1xuJHNtQ29udGFpbmVyOiA1MDBweDtcbiRtZENvbnRhaW5lcjogNzcwcHg7XG4kbGdDb250YWluZXI6IDEwMDBweDtcbiR4bENvbnRhaW5lcjogMTIwMHB4O1xuXG4vLyBBbmltYXRpb24gU3BlZWRzIC0gdGhlc2UgYWxzbyBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gYW5pbWF0aW9uLnRzIGlmIG1vZGlmaWVkXG4kdmVyeUZhc3Q6IDIwMG1zO1xuJGZhc3Q6IDMwMG1zO1xuJG1lZGl1bTogNTAwbXM7XG4kc2xvdzogODAwbXM7XG4kdmVyeVNsb3c6IDEwMDBtcztcbiRnbGFjaWFsOiAzMDAwbXM7XG4iLCJAdXNlIFwibWl4aW5zXCIgYXMgKjtcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xuXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtZGlhbG9nc1wiO1xuXG4uZGlhbG9nQmFja2Ryb3Age1xuICBiYWNrZ3JvdW5kOiB2YXItcmdiYSgtLWxpZ2h0LWdyZXksIDAuNyk7XG59XG5cbi5kaWFsb2dDb250ZW50IHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5kaWFsb2dBY3Rpb25zLmdlbmVyYXRlZCB7XG4gIGJ1dHRvbi5jbG9zZURpYWxvZyB7XG4gICAgLmljb246YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xuICAgICAgY29udGVudDogXCJiXCI7XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbi5jbG9zZURpYWxvZyB7XG4gIC5pY29uOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG4gICAgY29udGVudDogXCJiXCI7XG4gIH1cbn1cblxuLmRpYWxvZ0xhYmVsIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIC5zYWZhcmkgJiB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xuICB9XG5cbiAgLmRpYWxvZ0lubmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIH1cblxuICBidXR0b24uY2xvc2VEaWFsb2cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIC5pY29uIHtcbiAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gfVxuICB9XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZT1cImxhcmdlTW9kYWxcIl0ge1xuICAuc2FmYXJpICYge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcbiAgfVxuICAuZGlhbG9nSW5uZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0KTtcbiAgfVxuXG4gIC5kaWFsb2dMYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmspO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIHplcm9NYXJnUGFkO1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgfVxuICB9XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZT1cInNoYWRlXCJdIHtcbiAgLmRpYWxvZ0lubmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZV49XCJzaWRlYmFyXCJdIHtcbiAgLmRpYWxvZ0lubmVyIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJMZWZ0XCJdIHtcbiAgICAuZGlhbG9nSW5uZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMDtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSB7XG4gICAgLmRpYWxvZ0lubmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cykgMCAwIHZhcigtLXJhZGl1cyk7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwiZnVsbFwiXSB7XG4gIC5kaWFsb2dJbm5lciB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4uc2ltcGxlRGlhbG9nIHtcbiAgLy8gQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XG4gIC8vIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG5cbi8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl1bZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyUmlnaHRcIl0gLmRpYWxvZ0lubmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XG4gICAgICAmLnJlcG9ydE5lZWRlZCB7XG4gICAgICAgIC8vVW5pcXVlIHN0eWxpbmcgZm9yIHRoZSBSZXBvcnQgYSBCYXJyaWVyIGZlYXR1cmUuIC0gREZUXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XG4gICAgJltkYXRhLWJhY2tkcm9wLWZvcj1cImFjY2Vzc2liaWxpdHlQcmVmc1wiXSB7XG4gICAgICAuc2FmYXJpICYge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAZm9yd2FyZCBcIi4uL19nbG9iYWwvc2hhcmVkLW1peGluc1wiO1xuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLW1peGluc1wiIGFzICo7XG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG5AbWl4aW4gYnV0dG9uKCRjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KSwgJGhvdmVyQ29sb3I6IHZhcigtLWhvdmVyKSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC42ZW0gMS41ZW07XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGNvbG9yKTtcblxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkaG92ZXJDb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXItZGFya2VuKCRob3ZlckNvbG9yLCAxMCUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxufVxuXG4vLy8gRm9yIGJ1dHRvbnMgdGhhdCBmZWF0dXJlIGJvdGggYW4gaWNvbiBhbmQgdGV4dC4gVXN1YWxseSBzZWVuIGluIGRpYWxvZ3MuXG4vLy8gQHBhcmFtIHtudW19ICRzaXplIC0gVGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIGJ1dHRvbi4gRG9lcyBub3QgYXBwbHkgd2hlbiBidXR0b24gb25seSBjb250YWlucyB0ZXh0LlxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdHlwZSBbdG9vbFRpcF0gLSBQb3NzaWJsZSB2YWx1ZXM6IHRvb2xUaXAsIGljb24sIHRleHQuXG5AbWl4aW4gYWN0aW9uQnV0dG9uKCRjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KSwgJGhvdmVyQ29sb3I6IHZhcigtLWhvdmVyKSwgJHNpemU6IDQ1cHgsICR0eXBlOiB0b29sVGlwKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGNvbG9yKTtcbiAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBAaWYgJHR5cGUgPT0gdG9vbFRpcCB7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IGNhbGMoI3skc2l6ZX0gKiAwLjQpO1xuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBAaW5jbHVkZSB0b29sVGlwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcbiAgICAgIC50ZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgc2NhbGU6IDE7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIGlmICR0eXBlID09IGljb24ge1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgLmljb24ge1xuICAgICAgZm9udC1zaXplOiBjYWxjKCN7JHNpemV9ICogMC40KTtcbiAgICB9XG4gICAgLnRleHQge1xuICAgICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSB0ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgICAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGhvdmVyQ29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBvcGVuQWxsVG9nZ2xlQnV0dG9uKCRpbm5lci1zaXplOiAyMHB4KSB7XG4gIC8vIFRoZXNlIHBhcmFtZXRlciBjYWxjdWxhdGlvbnMgZW5zdXJlIHRoYXQgY2hhbmdpbmcgdGhlICRpbm5lci1zaXplIHZhbHVlIGtlZXBzIHRoZSB0b2dnbGUgYnV0dG9uJ3Mgc3BhY2luZyBiZXR3ZWVuIGl0cyBlbGVtZW50cyBjb25zaXN0ZW50LlxuICAkdG9nZ2xlLWhlaWdodDogJGlubmVyLXNpemUgKyA2cHg7XG4gICR0b2dnbGUtd2lkdGg6ICRpbm5lci1zaXplICogMi4yNTtcbiAgJHRvZ2dsZS1yYWRpdXM6IG1hdGguZGl2KCR0b2dnbGUtaGVpZ2h0LCAyKTsgLy8gVGhpcyBkaXZpc2lvbiBlbnN1cmVzIHRoZSBwaWxsIHNoYXBlLiBZb3UgY2FuIGFkanVzdCB0aGlzIHRvIHlvdXIgcHJvamVjdCdzIG5lZWRzIGJ5IHJlcGxhY2luZyB3aXRoIGEgcGl4ZWwgdmFsdWUuXG4gICRwYWRkaW5nOiAoJGlubmVyLXNpemUgKiAwLjYpICgkaW5uZXItc2l6ZSAqIDAuNzUpICgkaW5uZXItc2l6ZSAqIDAuNikgKCR0b2dnbGUtd2lkdGggKyAkaW5uZXItc2l6ZSAqIDAuNSArIDEwcHgpO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDIwcHggYXV0byAxNXB4O1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiAkZmFzdDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblxuICAuYnRuIHtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIH1cblxuICAudG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogJGlubmVyLXNpemUgKiAwLjU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGhlaWdodDogJHRvZ2dsZS1oZWlnaHQ7XG4gICAgd2lkdGg6ICR0b2dnbGUtd2lkdGg7XG4gICAgYm9yZGVyLXJhZGl1czogJHRvZ2dsZS1yYWRpdXM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpO1xuXG4gICAgLmlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtICN7JGlubmVyLXNpemUgKyAzcHh9KTtcbiAgICAgIGhlaWdodDogJGlubmVyLXNpemU7XG4gICAgICB3aWR0aDogJGlubmVyLXNpemU7XG4gICAgICBib3JkZXItcmFkaXVzOiBtYXRoLmRpdigkaW5uZXItc2l6ZSwgMik7IC8vVGhpcyBkaXZpc2lvbiBlbnN1cmVzIHRoZSB0b2dnbGUncyBpbm5lciBpcyByb3VuZC4gWW91IGNhbiBhZGp1c3QgdGhpcyB0byB5b3VyIHByb2plY3QncyBuZWVkcyBieSByZXBsYWNpbmcgd2l0aCBhIHBpeGVsIHZhbHVlLlxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgICB0cmFuc2l0aW9uOiByaWdodCAkZmFzdDtcbiAgICB9XG4gIH1cblxuICAmW2FyaWEtcHJlc3NlZD1cInRydWVcIl0ge1xuICAgIC50b2dnbGUge1xuICAgICAgLmlubmVyIHtcbiAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICAgIC50b2dnbGUge1xuICAgICAgLmlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJ0biB7XG4gICAgICBjb2xvcjogY2FsYy1jb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjaGVja2JveCgkc2l6ZTogMWVtLCAkYm9yZGVyQ29sb3I6IHZhcigtLWJhc2ljKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkc2VsZWN0ZWRCb3JkZXI6ICRzZWxlY3RlZENvbG9yKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBtaW4td2lkdGg6ICRzaXplO1xuICAgIG1pbi1oZWlnaHQ6ICRzaXplO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXJDb2xvcjtcblxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjYWxjLWNvbnRyYXN0KCRzZWxlY3RlZENvbG9yKTtcbiAgICAgIG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOSBJakFnTUNBek1UWXVNemdnTWpVd0xqWWlQanh3WVhSb0lHUTlJazAzTUM0MElESXhPUzQ0WXpRdU5UVWdOQzQ0IE55QTVMakl5SURrdU5qY2dNVFF1TVRJZ01UUXVNVGtnTXk0M05TQXpMalEzSURjdU56RWdOaTQ0TlNBeE1TNDUgTXlBNUxqYzBJRFV1TlNBekxqYzRJREV4TGpreUlEY3VNRGdnTVRndU56Z2dOaTQ0TlNBMkxqWTJMUzR5TXlBeCBNaTQzTnkwekxqY3pJREUzTGprM0xUY3VOaklnT0M0MkxUWXVORElnTVRZdU5qY3RNVFV1TVRjZ01qTXVPRFF0IE1qTXVNVFJNTXpBMUxqWTRJRFUwTGpZNVl6Y3VNaTA0SURFeExqYzVMVEU0TGpJMUlERXdMalEzTFRJNUxqRTMgTFRFdU1EUXRPQzQxT1MwMUxqY3hMVEUyTGpVMUxURXpMakF4TFRJeExqSTVMVFV1TmpVdE15NDJOeTB4TWk0eSBOaTAwTGprNExURTRMamt0TXk0NE1pMDRMamtnTVM0MU5pMHhOaTQxTkNBM0xqSXlMVEl5TGpRNElERXpMamM0IExUUTRMak0wSURVekxqTXlMVGsyTGpVNUlERXdOaTQzTVMweE5EUXVPRFVnTVRZd0xqRXhiQzB6TGpFNUlETXUgTlRNdE5qQXVOQzAyTmk0Mk0yTXRPQzQwTWkwNUxqSTVMVEU1TGpjdE1UTXVPVFF0TXpFdU9USXRPUzQxTnkwMCBMamN5SURFdU5qa3RPQzQ1T1NBMExqVTRMVEV5TGpRMUlEZ3VNVGt0TXk0NE5pQTBMakEwTFRZdU56Z2dPUzR3IE5pMDRMakV6SURFMExqUTVMVEl1TXpFZ09TNHlOeTR6SURFNExqQTNJRFl1TmpJZ01qVXVNVE5zTmpJdU9UVWcgTnpBdU16VmFJaUJ6ZEhsc1pUMGlabWxzYkMxeWRXeGxPbVYyWlc1dlpHUWlMejQ4TDNOMlp6NEtcIik7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiA2MCU7XG4gICAgICBtYXNrLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VsZWN0ZWRCb3JkZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZENvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhci1yZ2JhKC0tYmFzaWMsIDAuOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByYWRpbygkc2l6ZTogMWVtLCAkYm9yZGVyQ29sb3I6IHZhcigtLWJhc2ljKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkc2VsZWN0ZWRCb3JkZXI6ICRzZWxlY3RlZENvbG9yKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBtaW4td2lkdGg6ICRzaXplO1xuICAgIG1pbi1oZWlnaHQ6ICRzaXplO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXJDb2xvcjtcblxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgei1pbmRleDogNTtcblxuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdGVkQm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNhbGMtY29udHJhc3QoJHNlbGVjdGVkQ29sb3IpO1xuICAgICAgICB3aWR0aDogMTAwJSAqIDAuNDU7XG4gICAgICAgIGhlaWdodDogMTAwJSAqIDAuNDU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXItbGlnaHRlbih2YXIoLS1iYXNpYyksIDc1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzd2l0Y2goJHNpemU6IDEuMjVlbSwgJGNvbG9yOiB2YXIoLS1iYXNpYyksICRzZWxlY3RlZENvbG9yOiB2YXIoLS1icmFuZC1kYXJrKSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICRrbm9iU2l6ZTogY2FsYygjeyRzaXplfSAtIDhweCk7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMS4yNWVtICogMjtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIG1pbi13aWR0aDogMS4yNWVtICogMjtcbiAgICBtaW4taGVpZ2h0OiAkc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgdHJhbnNpdGlvbjogYWxsICRmYXN0O1xuXG4gICAgLyogVGhlIHRvZ2dsZSBrbm9iICovXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBsZWZ0OiAycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogJGtub2JTaXplO1xuICAgICAgaGVpZ2h0OiAka25vYlNpemU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJGZhc3Q7XG4gICAgfVxuXG4gICAgLyogQ2hhbmdlIGNvbG9yIGFuZCBwb3NpdGlvbiB3aGVuIGNoZWNrZWQgKi9cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZDogJHNlbGVjdGVkQ29sb3I7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkc2VsZWN0ZWRDb2xvcjtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAjeyRrbm9iU2l6ZX0gLSAycHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjYWxjLWNvbnRyYXN0KCRzZWxlY3RlZENvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEcm9wIHRoZSBvcGFjaXR5IG9mIHRoZSB0b2dnbGUga25vYiB3aGVuIHRoZSBpbnB1dCBpcyBkaXNhYmxlZCAqL1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEhpZGVzIHRleHQgYW5kIHByZXBzIGZvciBob3Zlci4gQmVjYXVzZSB0aGlzIG1peGluIGlzIHVzdWFsbHkgYmVpbmcgdXNlZCBpbiBhIGJ1dHRvbixcbi8vLyB0aGUgaG92ZXIgc3R5bGUgbmVlZHMgdG8gYmUgbWFudWxseSBzZXQgaW4gd2hhdGV2ZXIgcGFyZW50IHRoaXMgbWl4aW4gaXMgYmVpbmcgdXNlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICBidXR0b24ge1xuLy8vICAgICAudGV4dCB7XG4vLy8gICAgICAgQGluY2x1ZGUgdG9vbFRpcCgkZGlyOiB0b3AsICRjb2xvcjogdmFyKC0tYmx1ZSksICRvZmZzZXQ6IDEwcHgpO1xuLy8vICAgICB9XG4vLy8gICAgIEBpbmNsdWRlIGhvdmVyV2l0aEZvY3VzIHtcbi8vLyAgICAgICAudGV4dCB7XG4vLy8gICAgICAgICAvLyBCeSBkZWZhdWx0IHRoZXNlIGFyZSB0aGUgdHdvIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIG92ZXJ3cml0dGVuLlxuLy8vICAgICAgICAgb3BhY2l0eTogMTtcbi8vLyAgICAgICAgIHNjYWxlOiAxO1xuLy8vICAgICAgIH1cbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gQWRkIGEgdG9vbFRpcFNob3cgbWl4aW4gdGhhdCBvdmVycmlkZXMgYWxsIHRoZSBwcm9wZXJ0aWVzIGxpc3RlZCBpbiB0b29sVGlwLlxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFt0b3AgfCB0b3AtbGVmdCB8IHRvcC1yaWdodF0gW2JvdHRvbSB8IGJvdHRvbS1sZWZ0IHwgYm90dG9tLXJpZ2h0XSBbbGVmdCB8IHJpZ2h0XVxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbdmFyKC0tbGlnaHQpXSAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0aGUgdG9vbCB0aXAuXG4vLy8gQHBhcmFtIHtib29sZWFufSAkYXJyb3cgW3RydWVdIC0gRHJhd3MgYSB0cmlhbmdsZSB0aGF0IHBvaW50cyB0b3dhcmRzIHRoZSBwYXJlbnQuXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRvZmZzZXQgWzVweF0gLSBUaGUgYW1vdW50IHRoZSBhcnJvdyBzaG91bGQgYmUgc2hpZnRlZCBpZiB0aXAgaXNuJ3QgY2VudGVyZWQuXG4vLy8gQHNpbmNlIEZ1Z3UgOC4wXG5AbWl4aW4gdG9vbFRpcCgkZGlyOiBib3R0b20sICRjb2xvcjogdmFyKC0tbGlnaHQpLCAkYXJyb3c6IHRydWUsICRvZmZzZXQ6IDVweCkge1xuICAkZGlzdGFuY2U6IDJweDtcbiAgJGJvcmRlcldpZHRoOiAycHg7XG4gICRib3JkZXJDb2xvcjogdmFyKC0tbGlnaHQpO1xuICAkYXJyb3dTaXplOiAxMHB4O1xuICAkYm9yZGVyQXJyb3dTaXplOiAkYXJyb3dTaXplICsgKCRib3JkZXJXaWR0aCAqIDIpO1xuICAkY29sb3I6IHZhbGlkYXRlLWFuZC13cmFwLWlmLWN1c3RvbS1wcm9wKCRjb2xvcik7XG5cbiAgJGJveFRyYW5zbGF0aW9uOiAwIC01MCU7XG4gICRhcnJvd1RyYW5zbGF0aW9uOiAwIC01MCU7XG4gICRhbGlnbjogY2VudGVyO1xuICAkc2lkZTogYm90dG9tO1xuICBAaWYgc3RyaW5nLmluZGV4KCRkaXIsIFwiYm90dG9tXCIpIG9yIHN0cmluZy5pbmRleCgkZGlyLCBcInRvcFwiKSB7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkZGlyLCBcImJvdHRvbVwiKSB7XG4gICAgICAkc2lkZTogYm90dG9tO1xuICAgIH0gQGVsc2UgaWYgc3RyaW5nLmluZGV4KCRkaXIsIFwidG9wXCIpIHtcbiAgICAgICRzaWRlOiB0b3A7XG4gICAgfVxuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJsZWZ0XCIpIHtcbiAgICAgICRhbGlnbjogbGVmdDtcbiAgICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcInJpZ2h0XCIpIHtcbiAgICAgICRhbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcImxlZnRcIikge1xuICAgICRzaWRlOiBsZWZ0O1xuICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcInJpZ2h0XCIpIHtcbiAgICAkc2lkZTogcmlnaHQ7XG4gIH1cblxuICBAaWYgJHNpZGUgPT0gYm90dG9tIG9yICRzaWRlID09IHRvcCB7XG4gICAgJGJveFRyYW5zbGF0aW9uOiAtNTAlIDA7XG4gICAgJGFycm93VHJhbnNsYXRpb246IC01MCUgMDtcbiAgfVxuXG4gICRvcmlnaW5YOiA1MCU7XG4gIEBpZiAkc2lkZSA9PSBsZWZ0IHtcbiAgICAkb3JpZ2luWDogMTAwJTtcbiAgfVxuICBAaWYgJHNpZGUgPT0gcmlnaHQge1xuICAgICRvcmlnaW5YOiAwJTtcbiAgfVxuXG4gICRvcmlnaW5ZOiA1MCU7XG4gIEBpZiAkc2lkZSA9PSBib3R0b20ge1xuICAgICRvcmlnaW5ZOiAwJTtcbiAgfVxuICBAaWYgJHNpZGUgPT0gdG9wIHtcbiAgICAkb3JpZ2luWTogMTAwJTtcbiAgfVxuXG4gICRib3hTdGFydFBvczogNTAlO1xuICAkYXJyb3dQb3M6IDUwJTtcbiAgQGlmICRhbGlnbiAhPSBjZW50ZXIge1xuICAgICRib3hTdGFydFBvczogMHB4O1xuICAgICRib3hUcmFuc2xhdGlvbjogMCAwO1xuICAgICRhcnJvd1RyYW5zbGF0aW9uOiAwIDA7XG4gIH1cblxuICBAaWYgJGFsaWduID09IGxlZnQge1xuICAgICRvcmlnaW5YOiBjYWxjKCRvZmZzZXQgLSB2YXIoLS1yYWRpdXMpKTtcbiAgfVxuICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAkb3JpZ2luWDogY2FsYygxMDAlIC0gJG9mZnNldCAtIHZhcigtLXJhZGl1cykpO1xuICB9XG5cbiAgLy8gQWJzdHJhY3Qgb3V0IHRoZSBzdGFydGluZyBheGlzIGFuZCBwb3NpdGlvbnMgb2YgdGhlIHRvb2x0aXAgYm94IGFuZCBhcnJvdyB0byBrZWVwIHRoaW5ncyBzYW5lLlxuICAkYm94RGlzdGFuY2VQcm9wOiBcIlwiO1xuICAkYm94U3RhcnRQcm9wOiBcIlwiO1xuICAkYXJyb3dQb3NQcm9wOiBcIlwiO1xuXG4gIEBpZiAkc2lkZSA9PSBib3R0b20ge1xuICAgICRib3hEaXN0YW5jZVByb3A6IHRvcDtcbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAgICRib3hTdGFydFByb3A6IHJpZ2h0O1xuICAgICAgJGFycm93UG9zUHJvcDogcmlnaHQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkYm94U3RhcnRQcm9wOiBsZWZ0O1xuICAgICAgJGFycm93UG9zUHJvcDogbGVmdDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0gdG9wIHtcbiAgICAkYm94RGlzdGFuY2VQcm9wOiBib3R0b207XG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XG4gICAgICAkYm94U3RhcnRQcm9wOiByaWdodDtcbiAgICAgICRhcnJvd1Bvc1Byb3A6IHJpZ2h0O1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGJveFN0YXJ0UHJvcDogbGVmdDtcbiAgICAgICRhcnJvd1Bvc1Byb3A6IGxlZnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRzaWRlID09IGxlZnQge1xuICAgICRib3hEaXN0YW5jZVByb3A6IHJpZ2h0O1xuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgJGJveFN0YXJ0UHJvcDogYm90dG9tO1xuICAgICAgJGFycm93UG9zUHJvcDogYm90dG9tO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGJveFN0YXJ0UHJvcDogdG9wO1xuICAgICAgJGFycm93UG9zUHJvcDogdG9wO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSByaWdodCB7XG4gICAgJGJveERpc3RhbmNlUHJvcDogbGVmdDtcbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAgICRib3hTdGFydFByb3A6IGJvdHRvbTtcbiAgICAgICRhcnJvd1Bvc1Byb3A6IGJvdHRvbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRib3hTdGFydFByb3A6IHRvcDtcbiAgICAgICRhcnJvd1Bvc1Byb3A6IHRvcDtcbiAgICB9XG4gIH1cblxuICAjeyRib3hEaXN0YW5jZVByb3B9OiBjYWxjKDEwMCUgKyAjeyRkaXN0YW5jZX0pO1xuICAjeyRib3hTdGFydFByb3B9OiAkYm94U3RhcnRQb3M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgc2NhbGU6IDAuMTtcbiAgYm9yZGVyOiAkYm9yZGVyV2lkdGggc29saWQgJGJvcmRlckNvbG9yO1xuICBwYWRkaW5nOiAycHggN3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvcGFjaXR5OiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7XG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRjb2xvcik7XG4gIHRyYW5zaXRpb246IGFsbCAkbWVkaXVtIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luWCAkb3JpZ2luWTtcbiAgdHJhbnNsYXRlOiAkYm94VHJhbnNsYXRpb247XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIEBpZiAkYXJyb3cgPT0gdHJ1ZSB7XG4gICAgLy8gQm9yZGVyIFRyaWFuZ2xlXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkbWVkaXVtIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICAgICAgdHJhbnNsYXRlOiAkYXJyb3dUcmFuc2xhdGlvbjtcbiAgICAgIHdpZHRoOiAkYXJyb3dTaXplO1xuICAgICAgaGVpZ2h0OiAkYXJyb3dTaXplO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlckNvbG9yO1xuICAgICAgQGlmICRhbGlnbiA9PSBcImNlbnRlclwiIHtcbiAgICAgICAgI3skYXJyb3dQb3NQcm9wfTogNTAlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JGFycm93UG9zUHJvcH06IGNhbGMoJG9mZnNldCArIHZhcigtLXJhZGl1cykpO1xuICAgICAgfVxuICAgICAgQGlmICRzaWRlID09IGJvdHRvbSB7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgd2lkdGg6ICRib3JkZXJBcnJvd1NpemU7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IHRvcCB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICRib3JkZXJBcnJvd1NpemU7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUpO1xuICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBsZWZ0IHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkYm9yZGVyQXJyb3dTaXplO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMTAwJSA1MCUsIDAlIDEwMCUsIDAlIDAlKTtcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gcmlnaHQge1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkYm9yZGVyQXJyb3dTaXplO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBY3R1YWwgVHJpYW5nbGVcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bSB2YXIoLS10aW1pbmctYm91bmNlKTtcbiAgICAgIHRyYW5zbGF0ZTogJGFycm93VHJhbnNsYXRpb247XG4gICAgICB3aWR0aDogJGFycm93U2l6ZTtcbiAgICAgIGhlaWdodDogJGFycm93U2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIEBpZiAkYWxpZ24gPT0gY2VudGVyIHtcbiAgICAgICAgI3skYXJyb3dQb3NQcm9wfTogNTAlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JGFycm93UG9zUHJvcH06IGNhbGMoJG9mZnNldCArIHZhcigtLXJhZGl1cykgKyAkYm9yZGVyV2lkdGgpO1xuICAgICAgfVxuICAgICAgQGlmICRzaWRlID09IGJvdHRvbSB7XG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gI3skYm9yZGVyV2lkdGh9KTtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gdG9wIHtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAjeyRib3JkZXJXaWR0aH0pO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlKTtcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gbGVmdCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGJvcmRlcldpZHRofSk7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDUwJSwgMCUgMTAwJSwgMCUgMCUpO1xuICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSByaWdodCB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAjeyRib3JkZXJXaWR0aH0pO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uQURBKCRjb2xvcjogdmFyKC0tYnJhbmQtZGFyayksICRob3ZlckNvbG9yOiB2YXIoLS1hZGEtaG92ZXIpKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNmVtIDEuMmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcblxuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xuXG4gICZbZGlzYWJsZWRdLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSkge1xuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1ob3ZlckNvbG9yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwic2hhcmVkLW1peGluc1wiIGFzICo7XG5cbi8vIEtFWUZSQU1FIEFOSU1BVElPTlMgRk9SIFpPT00gU0xJREVTSE9XIC8vXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBsYXllciBiYXNlIHtcbiAgI2JhY2tncm91bmQge1xuICAgIFtkYXRhLXNsaWRlc2hvdz1cInpvb21TbGlkZXNob3dcIl0ge1xuICAgICAgJi5yZXR1cm5QYXVzZSB7XG4gICAgICAgIC5iZ0ltZ1dyYXBwZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5iZ0ltZ1dyYXBwZXIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuODVzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2IHtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAuYmdJbWcudHJhbnMge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIC5iZ0ltZy50cmFucyB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5iZ0ltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwcztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cbiAgICAgICAgLy9iYWNrZ3JvdW5kIHBvc3Rpb24gKFgsWSlcbiAgICAgICAgJltkYXRhLWJnLXBvcz1cImNlbnRlclwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiY2VudGVyIGxlZnRcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgJltkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSAxMCU7XG4gICAgICAgIH1cbiAgICAgICAgJltkYXRhLWJnLXBvcz1cInRvcCBtaWRkbGVcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMCU7XG4gICAgICAgIH1cbiAgICAgICAgJltkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDEwJTtcbiAgICAgICAgfVxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSA5MCU7XG4gICAgICAgIH1cbiAgICAgICAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBtaWRkbGVcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDkwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vZXN0YWJsaXNoaW5nIHRoZSBvcmlnaW4gb2YgdGhlIHpvb20gYW5pbWF0aW9uIHdoaWNoXG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJjZW50ZXJcIl0ge1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cInRvcCByaWdodFwiXSB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJ0b3AgbGVmdFwiXSB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cImJvdHRvbSByaWdodFwiXSB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJib3R0b20gbGVmdFwiXSB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wYXVzZWQge1xuICAgICAgICAuYmdJbWdXcmFwcGVyLnRyYW5zIHtcbiAgICAgICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgICAgICB9XG4gICAgICAgIC5iZ0ltZy50cmFucyB7XG4gICAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYmdJbWcsXG4gICAgLnNlY3Rpb25CZyB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgQGluY2x1ZGUgYmdQb3MoKTtcbiAgICB9XG4gICAgdmlkZW8ge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICB9XG4gIH1cbn1cblxuI2JhY2tncm91bmQge1xuICBbZGF0YS1pcy1sb2FkaW5nPVwidHJ1ZVwiXSAmIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbiNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIEBpbmNsdWRlIGRpc2NvdmVyeVRvb2xzQWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYWN0aXZlRGlhbG9nKFwidXRpbGl0eU1lbnVcIikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBhY3RpdmVab25lKFwic2xpZGVzXCIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgW2RhdGEtaXMtbG9hZGluZz1cInRydWVcIl0gJiB7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmljb24tcGxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmLnBhdXNlIHtcbiAgICAuaWNvbi1wbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuaWNvbi1wYXVzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWJhY2tncm91bmRcIjtcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XG5cbiNiYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogNTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXItcmdiYSgtLWxpZ2h0LCAwLjUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbWVkaXVtO1xuICB9XG5cbiAgW2RhdGEtc2hvd2Nhc2UtYmFja2dyb3VuZD1cInRydWVcIl0gJiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyLXJnYmEoLS1saWdodCwgMCksIHZhci1yZ2JhKC0tbGlnaHQtZ3JleSwgMSkgMTUlKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG1lZGl1bTtcbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkbWVkaXVtO1xuICAgIH1cbiAgfVxuXG4gIC5jb3Zlci1zbGlkZXIsXG4gIHZpZGVvLFxuICAubWFpbkJnSW1nIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgfVxuICAuc2VjdGlvbkJnSG9sZGVyIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICAubWVudU91dCAmIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICAgICZbZGF0YS1zZWN0aW9uLWJnLW9ubHk9XCJ0cnVlXCJdIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICAuaW5TZWN0aW9uICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iZ0ltZyxcbiAgLnNlY3Rpb25CZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcInNsaWRlc1wiKSB7XG4gICAgPiAqIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4jYmFja2dyb3VuZFBsYXlCdG4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogMTUwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XG4gIC50ZXh0IHtcbiAgICBAaW5jbHVkZSB0b29sVGlwKHJpZ2h0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcbiAgICAudGV4dCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgc2NhbGU6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXG5AbWVkaWEgKG1heC13aWR0aDogJHR3ZWVuKSB7XG4gICNiYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICBbZGF0YS1zaG93Y2FzZS1iYWNrZ3JvdW5kPVwidHJ1ZVwiXSAmIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0b3A6IG1heCgxNTBweCwgMzB2aCk7XG4gICAgICAgIGhlaWdodDogbWF4KGNhbGMoMTAwJSAtIDE1MHB4KSwgY2FsYygxMDAlIC0gMzB2aCkpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyLXJnYmEoLS1saWdodCwgMCksIHZhci1yZ2JhKC0tbGlnaHQtZ3JleSwgMSkgMTUlKTtcbiAgICAgIH1cblxuICAgICAgLmJnSW1nLFxuICAgICAgLnNlY3Rpb25CZyxcbiAgICAgIHZpZGVvLFxuICAgICAgLm1haW5CZ0ltZyxcbiAgICAgIC5zZWN0aW9uQmdIb2xkZXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogbWF4KDMyMHB4LCA2MHZoKTtcbiAgICAgIH1cblxuICAgICAgPiAqIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICB0b3A6IDEyMHB4O1xuICAgIHdpZHRoOiAzNnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSB7XG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gICAgdG9wOiA5MnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICR0aW55KSB7XG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gICAgdG9wOiA4OHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgICB3aWR0aDogMzRweDtcbiAgfVxufVxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gQkVHSU4gQkFTRSBTVFlMRVMgLSBETyBOT1QgQ0hBTkdFIFRIRVNFIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAvL1xuXG4uYnVmZmVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcbn1cblxuZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHotaW5kZXg6IDk5OTk7XG5cbiAgLmFkZ0xvZ29XcmFwIHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmFkZ0xvZ28ge1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5zb2NpYWxNZWRpYSB7XG4gIC5zb2NpYWxNZWRpYVRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICAuc29jaWFsTWVkaWFMb2dpbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIC5mYWNlYm9va0xvZ2luIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYig4LCAxMDIsIDI1NSkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZ29vZ2xlTG9naW4ge1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYyAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC50d2l0dGVyTG9naW4ge1xuICAgICAgYmFja2dyb3VuZDogIzE0MTcxYSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAudGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFwcGxlTG9naW4ge1xuICAgICAgYmFja2dyb3VuZDogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICA+IGEge1xuICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5zdmdJY29uIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuYXBwbGVMb2dpbiB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKi5sb2dpbldyYXBwZXJbZGF0YS1oaWRkZW4tZm9yLWd1ZXN0PVwidHJ1ZVwiXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0qL1xuXG4uZ3Vlc3RXcmFwcGVySG9sZGVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsICRzbG93O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vL1RoZXNlIHN0eWxlIGlzIGp1c3QgdXNlZCBmb3IgdGhlIEhvbmV5cG90IGZlYXR1cmUuIFRoZXNlIHN0eWxlcyBrZWVwIHRoZSBmaWVsZCBmcm9tIGJlaW5nIHNlZW4gYnkgaHVtYW5zIGFuZCB0aGV5IHNob3VsZCBub3QgYmUgY2hhbmdlZCBvciByZW1vdmVkLlxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5maWVsZFdyYXBwZXIucGhvbmUge1xuICAjUGhvbmVOdW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuXG4gIC5pdGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG5cbiAgICAuaXRpX19jb3VudHJ5LWNvbnRhaW5lciB7XG4gICAgICB0b3A6IDE4cHg7XG4gICAgICBib3R0b206IDFweDtcbiAgICB9XG5cbiAgICAuaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cykgMCAwIHZhcigtLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxufVxuXG46cm9vdCB7XG4gIC0taXRpLXBhdGgtZmxhZ3MtMXg6IHVybChcIi9JbWFnZXMvZmxhZ3MucG5nXCIpO1xuICAtLWl0aS1wYXRoLWZsYWdzLTJ4OiB1cmwoXCIvSW1hZ2VzL2ZsYWdzQDJ4LnBuZ1wiKTtcbiAgLS1pdGktcGF0aC1nbG9iZS0xeDogdXJsKFwiL0ltYWdlcy9nbG9iZS5wbmdcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMng6IHVybChcIi9JbWFnZXMvZ2xvYmVAMngucG5nXCIpO1xufVxuXG4vLyBFTkQgQkFTRSBTVFlMRVMgLy9cblxuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMjA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDY4cHg7XG5cbiAgLmJyYW5kaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxOHB4IDMwcHggMThweCAzMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XG4gIH1cblxuICAub3JpZW50YXRpb25UaXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBnYXA6IDVweDtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeVNsb3c7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB9XG5cbiAgLmxvZ29XcmFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMzIlO1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgcGFkZGluZzogMjBweCAwIDAgMjBweDtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDAgMTAwJSk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygtMnB4IC0ycHggNXB4IHZhci1yZ2JhKC0tYmxhY2ssIDAuOCkpO1xuICAgIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG5cbiAgICAvLyBCYWNrZ3JvdW5kXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwIDEwcHggMTBweCAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAwIDEwMCUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW07XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiA1MiU7XG4gICAgICBtYXgtaGVpZ2h0OiA3MCU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDEwMDAwO1xufVxuXG5ib2R5Omhhcyhmb290ZXIpIHtcbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICBib3R0b206IDUwcHg7XG4gIH1cbn1cblxuI21lbWJlcnNoaXAge1xuICAtLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICAtLWZvY3VzLXNoYWRvdy1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gMTY1cHgpO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB6LWluZGV4OiA1O1xuXG4gIC50aXRsZUFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XG5cbiAgICAmLmFjY291bnRQcm9maWxlciB7XG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuZXJyb3JNZXNzYWdlLFxuICAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLXdyb25nKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBtYXJnaW46IDJweCBhdXRvIDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgfVxuXG4gIC5sb2dpbk5hdiB7XG4gICAgQGluY2x1ZGUgZmxleENlbnRlcjtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjllbTtcblxuICAgID4gKiB7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtV3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nOiAyNXB4IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0KTtcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBAaW5jbHVkZSByYWRpbztcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3g7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIH4gbGFiZWwsXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIH4gbGFiZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjM1ZW07XG4gICAgfVxuICB9XG5cbiAgLmZvcm1XcmFwLmxvZ2luIHtcbiAgICAuc3RhdHVzTWVzc2FnZSB7XG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCh2YXIoLS1ibGFjaykpO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICB9XG4gICAgLmhvcnpEaXZpZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAyNXB4IDA7XG5cbiAgICAgIC5saW5lIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgICB9XG5cbiAgICAgIC5vciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ2luV3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIC5maWVsZFdyYXBwZXIge1xuICAgICAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgfVxuICAgICAgLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuICAgICAgaDMge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgLmJ1dHRvbnMge1xuICAgICAgLS1ncmFwaGljOiA3MHB4O1xuICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcbiAgICAgIGdhcDogMTVweDtcblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogN3B4IGNhbGMoKHZhcigtLWdyYXBoaWMpIC0gMTVweCkpO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbjogMCA2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tZ3JhcGhpYykgKyAxNXB4KTtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aGFzKC5pbWFnZSkge1xuICAgICAgICAgIC0tZ3JhcGhpYzogOTBweDtcbiAgICAgICAgICAuZ3JhcGhpY0hvbGRlciB7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KC01cHggLTVweCAwcHggdmFyKC0tYnJhbmQtZGFyaykpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDMwJSAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlLCAwJSAyNCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbFNwYWNlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZENvdmVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ncmFwaGljSG9sZGVyIHtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1ncmFwaGljKTtcbiAgICAgICAgd2lkdGg6IHZhcigtLWdyYXBoaWMpO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigzMCUgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSwgMCUgMjQlKTtcbiAgICAgICAgdG9wOiAtMTVweDtcbiAgICAgICAgbGVmdDogLTlweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4Q2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBmaWxsU3BhY2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xuICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xuICAgICAgfVxuXG4gICAgICAuZ3Vlc3RMb2dpbkJ0biB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDI1JSA1MCU7XG4gICAgICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJrXCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmVucm9sbGVlTG9naW5CdG4ge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA3NSUgNTAlO1xuICAgICAgICAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwielwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5wcm9maWxlU2V0dGluZ3NFeHBsYWluZXIsXG4gICAgLnByb2ZpbGVFcnJvcldyYXAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5lcnJvck1lc3NhZ2Uge1xuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluc3RydWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJ1dHRvbkhvbGRlciB7XG4gICAgICBtYXJnaW46IDIwcHggMCAyMHB4O1xuICAgIH1cblxuICAgIC5zdHlsZWRGaWVsZHNldC5waG9uZSB7XG4gICAgICAuZmllbGRXcmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgLml0aSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yZXNldEFjY291bnRUeXBlQnRuIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XG4gICAgICB0cmFuc2l0aW9uOiAkdmVyeUZhc3Q7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybVdyYXAudHdvRmFjdG9yIHtcbiAgICAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgIC5maWVsZFdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgICAgfVxuICAgIH1cblxuICAgICNURkFCdXR0b25BcHAge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAjVEZBQnV0dG9uRW1haWwsXG4gICAgI09UUEJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcGFkZGluZzogMCAwIDJweDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmW2RhdGEtd2FpdC1hLWZldz1cInRydWVcIl0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbkhvbGRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5zdHlsZWRGaWVsZHNldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5ncm91cExlZ2VuZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uc2ltcGxlRGlhbG9nIHtcbiAgLmNsb3NlRGlhbG9nIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4jcmVzZXREYXRhIHtcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG4gIH1cbn1cblxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cbkBtZWRpYSAobWF4LXdpZHRoOiAkeHhsKSB7XG4gIGhlYWRlciB7XG4gICAgLmxvZ29XcmFwIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbGcpIHtcbiAgaGVhZGVyIHtcbiAgICAubG9nb1dyYXAge1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZCkge1xuICBib2R5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IG1heCgxNTBweCwgMzB2aCk7XG4gICAgaGVpZ2h0OiBtYXgoY2FsYygxMDAlIC0gMTUwcHgpLCBjYWxjKDEwMCUgLSAzMHZoKSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyLXJnYmEoLS1saWdodCwgMCksIHZhci1yZ2JhKC0tbGlnaHQtZ3JleSwgMSkgMTUlKTtcbiAgfVxuICBoZWFkZXIge1xuICAgIGhlaWdodDogNjBweDtcbiAgICAubG9nb1dyYXAge1xuICAgICAgd2lkdGg6IDMzMHB4O1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICB9XG4gICAgLmJyYW5kaW5nIHtcbiAgICAgIHBhZGRpbmc6IDEycHggMzBweCAxMnB4IDM1MHB4O1xuICAgIH1cbiAgICAub3JpZW50YXRpb25UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgfVxuICAjbWVtYmVyc2hpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiBtYXgoMTUwcHgsIDMwdmgpO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC50aXRsZUFyZWEsXG4gICAgLmZvcm1XcmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IG1heCgxNTBweCwgMzB2aCk7XG4gICAgICBoZWlnaHQ6IG1heChjYWxjKDEwMCUgLSAxNTBweCksIGNhbGMoMTAwJSAtIDMwdmgpKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyLXJnYmEoLS1saWdodCwgMCksIHZhci1yZ2JhKC0tbGlnaHQtZ3JleSwgMSkgMTUlKTtcbiAgICB9XG4gIH1cbiAgI2JhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xuXG4gICAgLmJnSW1nLFxuICAgIHZpZGVvIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogbWF4KDIyMHB4LCA0NHZoKTtcbiAgICB9XG4gIH1cbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAxMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XG4gIC5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDhweDtcbiAgfVxuICAjbWVtYmVyc2hpcCB7XG4gICAgLmZvcm1XcmFwIHtcbiAgICAgICYubG9naW4ge1xuICAgICAgICAubG9naW5XcmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFuZGluZ1BhZ2Uge1xuICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcbiAgaGVhZGVyIHtcbiAgICAub3JpZW50YXRpb25UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICAuYnJhbmRpbmcge1xuICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4O1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cbiAgICAubG9nb1dyYXAge1xuICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxuICAjbWVtYmVyc2hpcCB7XG4gICAgLmZvcm1XcmFwIHtcbiAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgfVxuICAgIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XG4gICAgICAuYnV0dG9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI3Jlc2V0RGF0YSB7XG4gICAgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxuICAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICAgIHRvcDogMTIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpIHtcbiAgaGVhZGVyIHtcbiAgICAubG9nb1dyYXAge1xuICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIH1cbiAgICAuYnJhbmRpbmcge1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLm9yaWVudGF0aW9uVGl0bGUge1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB9XG4gIH1cbiAgLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiA4cHg7XG4gIH1cbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICB0b3A6IDk1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICR0aW55KSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuICAjbWVtYmVyc2hpcCB7XG4gICAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuICB9XG4gIGhlYWRlciB7XG4gICAgLmxvZ29XcmFwIHtcbiAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgIGhlaWdodDogOTVweDtcbiAgICB9XG4gICAgLmJyYW5kaW5nIHtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjAwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICAub3JpZW50YXRpb25UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICB9XG4gIH1cbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICBsZWZ0OiA4cHg7XG4gICAgdG9wOiA4NXB4O1xuICB9XG59XG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwic2hhcmVkLW1peGluc1wiIGFzICo7XG5AdXNlIFwibWV0YS1taXhpbnNcIiBhcyAqO1xuXG4ucnRlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGg0LFxuICBoNSB7XG4gICAgbWFyZ2luOiAwLjhlbSAwIDAuNWVtO1xuICB9XG4gID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSB7XG4gICAgQGluY2x1ZGUgZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIGE6aGFzKGltZykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAuaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xuICAgICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gLmljb24ge1xuICAgIC8vICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8vIH1cbiAgfVxuXG4gIC8vIEJFR0lOIElOTElORSBNRURJQSBTVFlMRVMgLy9cbiAgaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAoNDBweCAqIDIpKTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKCgxMDB2dyAtICg0MHB4ICogMikpIC8gMS43Nzc4KTsgLyogMTY6OSAqL1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgJltzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0ge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xuICAgIH1cbiAgICAmW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHggMHB4O1xuICAgIH1cbiAgICAmW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSxcbiAgICAmW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSwgKG1heC13aWR0aDogJG1kKSBhbmQgKG1pbi13aWR0aDogJHNtICsgMSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkcGFkOiA1cHg7XG4gICRib3JkZXI6IDFweDtcbiAgZmlndXJlOm5vdCgudGVybUJibCkge1xuICAgIG1hcmdpbjogMjBweCAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMpICsgI3skcGFkfSAtIHZhcigtLWJvcmRlcikpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyKSBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgICBwYWRkaW5nOiAkcGFkO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBpbWcge1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKSAwcHggMHB4O1xuICAgIH1cbiAgICAmW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjBweDtcbiAgICB9XG4gICAgJltzdHlsZSo9XCJ0ZXh0LWFsaWduOiBsZWZ0XCJdIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XG4gICAgfVxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSxcbiAgICAmW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSwgKG1heC13aWR0aDogJG1kKSBhbmQgKG1pbi13aWR0aDogJHNtICsgMSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0LWdyZXkpO1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB9XG4gIH1cblxuICAvLyBFTkQgSU5MSU5FIE1FRElBIFNUWUxFUyAvL1xuXG4gIG9sIHtcbiAgICAmW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTtcIl0sXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XCJdLFxuICAgICZbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWdyZWVrO1wiXSxcbiAgICAmW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbjtcIl0sXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XCJdIHtcbiAgICAgID4gbGk6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBodHRwczovL3d3dy53My5vcmcvV0FJL1dDQUcyMS9VbmRlcnN0YW5kaW5nL3JlZmxvdy5odG1sXG4gIC8vIEV4YW1wbGVzIG9mIGNvbnRlbnQgd2hpY2ggcmVxdWlyZXMgdHdvLWRpbWVuc2lvbmFsIGxheW91dCBhcmUgWy4uLl0gZGF0YSB0YWJsZXMgKG5vdCBpbmRpdmlkdWFsIGNlbGxzKSwgYW5kIGludGVyZmFjZXNcbiAgLy8gd2hlcmUgaXQgaXMgbmVjZXNzYXJ5IHRvIGtlZXAgdG9vbGJhcnMgaW4gdmlldyB3aGlsZSBtYW5pcHVsYXRpbmcgY29udGVudC4gSXQgaXMgYWNjZXB0YWJsZSB0byBwcm92aWRlIHR3by1kaW1lbnNpb25hbFxuICAvLyBzY3JvbGxpbmcgZm9yIHN1Y2ggcGFydHMgb2YgdGhlIGNvbnRlbnQuXG4gIC50YWJsZVdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6XG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWxpZ2h0KSAzMCUsIHZhci1yZ2JhKC0tbGlnaHQsIDApKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyLXJnYmEoLS1saWdodCwgMCksIHZhcigtLWxpZ2h0KSA3MCUpIDAgMTAwJSxcbiAgICAgIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDAlIDUwJSwgdmFyLXJnYmEoLS1ibGFjaywgMC4yKSwgdmFyLXJnYmEoLS1ibGFjaywgMCkpLFxuICAgICAgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMTAwJSA1MCUsIHZhci1yZ2JhKC0tYmxhY2ssIDAuMiksIHZhci1yZ2JhKC0tYmxhY2ssIDApKSAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgYmFja2dyb3VuZC1zaXplOlxuICAgICAgNDBweCAxMDAlLFxuICAgICAgNDBweCAxMDAlLFxuICAgICAgMTRweCAxMDAlLFxuICAgICAgMTRweCAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICAwIDAsXG4gICAgICAxMDAlLFxuICAgICAgMCAwLFxuICAgICAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsLCBsb2NhbCwgc2Nyb2xsLCBzY3JvbGw7XG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuXG4gICAgdGFibGUge1xuICAgICAgbWluLXdpZHRoOiA1MDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIGNhcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XG4gICAgICB9XG4gICAgICB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXItcmdiYSgtLWJyYW5kLWJyaWdodCwgMC4xNyk7XG4gICAgICB9XG4gICAgICB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhci1yZ2JhKC0tYnJhbmQtYnJpZ2h0LCAwLjA2KTtcbiAgICAgIH1cbiAgICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gICAgICB9XG4gICAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgcGFkZGluZzogNXB4IDhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgbGVmdDogY2FsYyg1cHggKyB2YXIoLS1yYWRpdXMpKTtcbiAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCA2cHggOHB4IDVweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1icmFuZC1kYXJrKSB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiA1MDBweCkge1xuICAucnRlIC50YWJsZVdyYXBwZXIgLm1vYmlsZVNjcm9sbE1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xuICAucnRlIC50YWJsZVdyYXBwZXIge1xuICAgIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC1yaWNoVGV4dFN0eWxlc1wiIGFzICo7XG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xuXG4ucnRlLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCB7XG4gIHAge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIGgzLmhlYWRpbmcge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICAgIGZvbnQtc2l6ZTogMS42NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xuICB9XG5cbiAgLmhlYWRpbmdMaXN0LFxuICAuc3ViaGVhZGluZ0xpc3Qge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmspO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XG4gIH1cblxuICBoMy5oZWFkaW5nTGlzdCB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxuXG4gIGg0LnN1YmhlYWRpbmdMaXN0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIGg0LnN1YmhlYWRpbmcge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICAgIGZvbnQtc2l6ZTogMS4zNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJhc2ljKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAubGFyZ2VUZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgdG9wOiAwcHg7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJGZhc3Q7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkdmVyeVNsb3c7XG5cbiAgICAgIC5jdXJyZW50ICYge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhpZ2hsaWdodCB7XG4gICAgYmFja2dyb3VuZDogdmFyLXJnYmEoLS1icmFuZC1icmlnaHQsIDAuMyk7XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZzogMDtcblxuICAgID4gbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICY6Om1hcmtlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb2wge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGNvdW50ZXItcmVzZXQ6IGNvdW50ZXI7XG5cbiAgICA+IGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBjb3VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi4gXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSArIDhweCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1saW5rKTtcbiAgICAvLyBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcbiAgICAvLyAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYmFzaWMpO1xuICAgIC8vIH1cbiAgfVxufVxuXG4uY2FsbG91dFN1YnRsZSB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDFlbSAwIDAuNGVtO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQtZ3JleSk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDFweCA0cHggcmdiYShibGFjaywgMC4yKSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGEge1xuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQtZ3JleSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNhbGMtY29udHJhc3QodmFyKC0tbGlnaHQtZ3JleSkpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XG4gICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJhc2ljKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgICB9XG4gIH1cbn1cblxuLmNhbGxvdXRCb2xkIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDRweCByZ2JhKGJsYWNrLCAwLjIpKTtcbiAgYSB7XG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XG5cbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYmFzaWMpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcblxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XG5cbiAgLmZvcm1BcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAucnRlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDE2ZW07XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhci1saWdodGVuKHZhcigtLWJyYW5kLWJyaWdodCksIDMwJSk7XG4gICAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSB7XG4gICAgLmZvcm1BcmVhIHtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgZm9udC1zaXplOiA2ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcbiAgICAuZm9ybUFyZWEge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyLWxpZ2h0ZW4odmFyKC0tYnJhbmQtYnJpZ2h0KSwgMzAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XG5cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIHtcbiAgLmVycm9yV3JhcCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gIH1cblxuICAuaWNvbiB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBmb250LXNpemU6IDhlbTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYigxNjcsIDE5NiwgMjIxKTtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAucnRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDBweCAzMHB4IDIwcHggMzBweDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGgzLmhlYWRpbmcge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1icmlnaHQpKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIHtcbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDZlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSB7XG4gICAgLmVycm9yV3JhcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogNWVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2IoMTY3LCAxOTYsIDIyMSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5ydGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwic2hhcmVkLW1peGluc1wiIGFzICo7XG5cbkBsYXllciBiYXNlIHtcbiAgLy8gQkVHSU4gQkFTRSBTVFlMRVMgLSBETyBOT1QgQ0hBTkdFIFRIRVNFIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAvL1xuXG4gIGRldGFpbHMge1xuICAgIC8vIElmIHlvdSBjaGFuZ2UgdGhpcyB0cmFuc2l0aW9uIHNwZWVkLCB5b3UnbGwgaGF2ZSB0byBjaGFuZ2UgaXQgYXQgdGhlIHRvcCBvZiBBY2NvcmRpb24udHNcbiAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bTtcbiAgfVxuXG4gIGRldGFpbHMgPiBzdW1tYXJ5OjptYXJrZXIsIC8qIExhdGVzdCBDaHJvbWUsIEVkZ2UsIEZpcmVmb3ggKi9cbmRldGFpbHMgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIC8qIFNhZmFyaSAqLyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hY2NvcmRpb25Nb2R1bGUge1xuICAgIC5hY2NvcmRpb25UaXRsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgICZbZGF0YS1pbnRlcmFjdGlvbi1tYW5kYXRvcnk9XCJ0cnVlXCJdOm5vdCguaW50ZXJhY3RlZFdpdGgpIHtcbiAgICAgIC5pY29uLW1hbmRhdG9yeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuaW50ZXJhY3Rpb25Ob3RpZmljYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBzY3JlZW5SZWFkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEVORCBCQVNFIFNUWUxFUyAvL1xufVxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWFjY29yZGlvbnNcIjtcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcIm1peGluc1wiIGFzICo7XG5AdXNlIFwic2FzczptYXRoXCI7XG5cbi5wcmltYXJ5QWNjb3JkaW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwcHggMDtcblxuICAmW29wZW5dIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICAgID4gLmFjY29yZGlvblRpdGxlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLXNtKSAwcHggMHB4O1xuXG4gICAgICAuaWNvbi1hcnJvdy1kb3duIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWludGVyYWN0aW9uLW1hbmRhdG9yeT1cInRydWVcIl06bm90KC5pbnRlcmFjdGVkV2l0aCkge1xuICAgIC5pY29uLW1hbmRhdG9yeSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTNweDtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvblRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG5cbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcblxuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1icmlnaHQpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbi1hcnJvdy1kb3duIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDc3XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xuICAgICAgfVxuICAgICAgY29sb3I6IGNhbGMtY29udHJhc3QoLS1icmFuZC1kYXJrKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMThweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIHRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uV3JhcHBlciB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pO1xuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQpO1xuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICArIC5ydGUge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cblxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cbiJdfQ== */