#static-loading-screen {
  width: 100%;
  height: 100%;
  z-index: 100;
  background-color: #2196f3;
  position: absolute;
  top: 0;
  left: 0;
}
#static-loading-screen #app-load-error-message {
  font-size: 2em;
  padding: 3em;
}
#static-loading-screen .loading-bars {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  bottom: 2em;
  left: 0;
  right: 0;
}
#static-loading-screen p {
  text-align: center;
  font-size: 2.3em;
  font-weight: bold;
  margin: 1.7em 0;
  padding: 0 4.2em;
}

.switch {
  font-size: 2.5em;
  position: relative;
  display: inline-block;
  width: 2em;
  height: 1em;
  border-radius: 1em;
  border-width: 0.15em;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0);
  box-shadow: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.switch.switchFocussed {
  border-style: solid;
  border-color: #ffc106;
  transform: scale(1.3);
}
.switch .switchSlider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #CCCCCC;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 1em;
}
.switch .switchSlider:before {
  position: absolute;
  content: "";
  height: 0.76em;
  width: 0.76em;
  left: 0.117em;
  bottom: 0.117em;
  background-color: #FFFFFF;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}
.switch.switchOn .switchSlider {
  background-color: #2196f3;
}
.switch.switchOn .switchSlider:before {
  -webkit-transform: translateX(1em);
  -ms-transform: translateX(1em);
  transform: translateX(1em);
}

.dark .switch.focus {
  border-color: #FF9F00;
}
.dark .switch.switchOn .switchSlider {
  background-color: #002D61;
}

.clickable-button.button {
  cursor: pointer;
}
.clickable-button.button .label {
  cursor: pointer;
}

#app #back-button {
  padding: 0.5em;
  position: absolute;
  left: 0;
  top: 0;
  width: 2em;
  height: 2em;
  z-index: 1000;
  background-image: url("components/widgets/back-button/images/exit.png");
  background-repeat: no-repeat;
  background-size: contain;
}
#app #back-button.buttonFocussed {
  background-image: url("components/widgets/back-button/images/exit-white.png");
}

.dark #app #back-button {
  background-image: url("components/widgets/back-button/images/exit-white.png");
}

.text-input {
  transition: border, box-shadow 0.3s ease;
  -webkit-transition: border, box-shadow 0.3s ease;
  color: #202020;
  background-color: #EFEFEF;
  border: none;
  box-sizing: border-box;
  padding-left: 0.5em;
  padding-right: 0.5em;
  outline: none;
  transition: border, box-shadow 0.3s ease;
  -webkit-transition: border, box-shadow 0.3s ease;
  border: 1px solid #2196f3;
  box-shadow: 0 0 5px #2196f3;
}
.text-input.placeholder {
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  color: rgba(0, 0, 0, 0.2);
}
.text-input.placeholder::after {
  position: absolute;
  left: 50%;
}
.text-input::after {
  color: #202020;
  animation: 1s blink step-end infinite;
  -webkit-animation: 1s webkit-blink step-end infinite;
  content: "|";
}
@keyframes blink {
  from, to {
    color: transparent;
  }
  50% {
    color: #202020;
  }
}
@-webkit-keyframes webkit-blink {
  from, to {
    color: transparent;
  }
  50% {
    color: #202020;
  }
}

.dark #app .text-input {
  color: #F9F9F9;
  background-color: #414141;
  border: 1px solid #002D61;
  box-shadow: 0 0 5px #002D61;
}
.dark #app .text-input::after {
  color: #F9F9F9;
  animation: 1s blink-dark step-end infinite;
  -webkit-animation: 1s webkit-blink-dark step-end infinite;
}
@keyframes blink-dark {
  from, to {
    color: transparent;
  }
  50% {
    color: #F9F9F9;
  }
}
@-webkit-keyframes webkit-blink-dark {
  from, to {
    color: transparent;
  }
  50% {
    color: #F9F9F9;
  }
}

.loading-bars {
  display: inline-block;
  position: relative;
  width: 5.3em;
  height: 5.3em;
}

.loading-bars div {
  display: inline-block;
  position: absolute;
  left: 0.5em;
  width: 1em;
  background: #fff;
  animation: loading-bars 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
  -webkit-animation: webkit-loading-bars 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}

.loading-bars div:nth-child(1) {
  left: 0.5em;
  animation-delay: -0.24s;
  -webkit-animation-delay: -0.24s;
}

.loading-bars div:nth-child(2) {
  left: 2.15em;
  animation-delay: -0.12s;
  -webkit-animation-delay: -0.12s;
}

.loading-bars div:nth-child(3) {
  left: 3.75em;
  animation-delay: 0;
  -webkit-animation-delay: 0;
}

@keyframes loading-bars {
  0% {
    top: 0.5em;
    height: 4.25em;
  }
  50%, 100% {
    top: 1.6em;
    height: 2.2em;
  }
}
@-webkit-keyframes webkit-loading-bars {
  0% {
    top: 0.5em;
    height: 4.25em;
  }
  50%, 100% {
    top: 1.6em;
    height: 2.2em;
  }
}
.youtube-video {
  width: 100%;
  height: 100%;
}

#app .wvc-logo {
  padding: 4px;
}
#app .wvc-logo img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 4em;
  height: 4em;
}

#app .receiver-logo {
  padding: 0px;
}
#app .receiver-logo img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 5em;
  height: 5em;
}

.scanning {
  display: inline-block;
  position: relative;
}
.scanning div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
}
.scanning div:nth-child(1) {
  background-image: url("components/widgets/scanning/images/scan-1.png");
  animation: none;
}
.scanning div:nth-child(2) {
  animation: scanning-anim-2 3s infinite;
  -webkit-animation: webkit-scanning-anim-2 3s infinite;
  opacity: 0;
  background-image: url("components/widgets/scanning/images/scan-2.png");
}
.scanning div:nth-child(3) {
  animation: scanning-anim-3 3s infinite;
  -webkit-animation: webkit-scanning-anim-3 3s infinite;
  opacity: 0;
  background-image: url("components/widgets/scanning/images/scan-3.png");
}

@keyframes scanning-anim-2 {
  0% {
    opacity: 0;
  }
  25%, 75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scanning-anim-3 {
  0%, 25% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75%, 100% {
    opacity: 0;
  }
}
@-webkit-keyframes webkit-scanning-anim-2 {
  0% {
    opacity: 0;
  }
  25%, 75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes webkit-scanning-anim-3 {
  0%, 25% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75%, 100% {
    opacity: 0;
  }
}
.dark .scanning div:nth-child(1) {
  background-image: url("components/widgets/scanning/images/scan-1-dark.png");
}
.dark .scanning div:nth-child(2) {
  background-image: url("components/widgets/scanning/images/scan-2-dark.png");
}
.dark .scanning div:nth-child(3) {
  background-image: url("components/widgets/scanning/images/scan-3-dark.png");
}

.qr-code .qr > img {
  width: 7em;
  height: 7em;
}
.qr-code .qr-label {
  text-align: center;
  padding-top: 0.1em;
  display: inline-block;
}
.qr-code .qr-type {
  width: 2em;
  height: 2em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.qr-code .qr-type.qr-type-ios {
  transition: 0.4s;
  -webkit-transition: 0.4s;
  background-image: url("components/widgets/qr-code/images/ios.png");
}
.qr-code .qr-type.qr-type-android {
  background-image: url("components/widgets/qr-code/images/android.png");
}

.dark #app .qr-code .qr-type.qr-type-ios {
  background-image: url("components/widgets/qr-code/images/ios-dark.png");
}

#app .get-wvc {
  margin-top: 2em;
  text-align: center;
  white-space: nowrap;
}
#app .get-wvc .qr-code {
  margin-left: 1em;
  margin-right: 1em;
}
#app .get-wvc #android-container,
#app .get-wvc #ios-container,
#app .get-wvc #dont-have {
  display: inline-block;
  white-space: normal;
}
#app .get-wvc #dont-have {
  vertical-align: top;
  text-align: left;
  padding-right: 5em;
  max-width: 40em;
}
#app .get-wvc #dont-have > .label, #app .get-wvc #dont-have #or-go-to {
  display: block;
  text-align: left;
  max-width: 40em;
  margin-left: 0.5em;
  line-height: 1.5em;
}
#app .get-wvc #dont-have #dont-have-or-go-to {
  padding-right: 0.4em;
}
#app .get-wvc #dont-have #dont-have-title {
  margin-left: 0.3em;
  line-height: 1.3em;
  font-size: 1.5em;
  color: #2196f3;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
#app .get-wvc #dont-have #help-button {
  margin-top: 1em;
  display: inline-block;
}
#app .get-wvc #dont-have #help-button .label {
  margin-left: 0;
}

.dark #app .get-wvc #dont-have #dont-have-title {
  color: #F9F9F9;
  font-weight: bold;
}

#css-demos > .image img {
  width: 8em;
  height: 8em;
}
#css-demos #demo-container {
  color: #000;
  background-color: #FFF;
}
#css-demos #demo-container #ssl-tests {
  display: block;
}
#css-demos #demo-container #ssl-tests > .button {
  margin: 1em;
}
#css-demos #demo-container #ssl-test-result, #css-demos #demo-container #supported {
  word-wrap: break-word;
}

#css-demo-zoom,
#css-demo-rotate {
  text-align: center;
}
#css-demo-zoom > .container,
#css-demo-rotate > .container {
  display: inline-block;
  text-align: center;
}

#css-demo-zoom > .image img {
  width: 4em;
  height: 4em;
}
#css-demo-zoom #demo-img-zoom-40 {
  transform: scale(0.4, 0.4);
  -webkit-transform: scale(0.4, 0.4);
}
#css-demo-zoom #demo-img-zoom-80 {
  transform: scale(0.8, 0.8);
  -webkit-transform: scale(0.8, 0.8);
}
#css-demo-zoom #demo-img-zoom-120 {
  padding: 7px;
  transform: scale(1.2, 1.2);
  -webkit-transform: scale(1.2, 1.2);
}
#css-demo-zoom #demo-img-zoom-160 {
  padding: 22px;
  transform: scale(1.6, 1.6);
  -webkit-transform: scale(1.6, 1.6);
}
#css-demo-zoom #demo-img-zoom-200 {
  padding: 36px;
  transform: scale(2, 2);
  -webkit-transform: scale(2, 2);
}

#demo-img-rotate-90 {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}

#demo-img-rotate-180 {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}

#demo-img-rotate-270 {
  transform: rotate(270deg);
  -webkit-transform: rotate(270deg);
}

#demo-img-rotate-270 {
  transform: rotate(270deg);
  -webkit-transform: rotate(270deg);
}

#car-drive {
  text-align: center;
  animation: drive 3s infinite;
  -webkit-animation: webkit-drive 3s infinite;
}

#keycode #keycode-container > .label, #keycode #betas-container > .label, #betas #keycode-container > .label, #betas #betas-container > .label {
  display: block;
  font-size: 2em;
  padding-bottom: 0.3em;
}

@keyframes drive {
  0% {
    transform: translateX(-200px);
  }
  100% {
    transform: translateX(200px);
  }
}
@-webkit-keyframes webkit-drive {
  0% {
    -webkit-transform: translateX(-200px);
  }
  100% {
    -webkit-transform: translateX(200px);
  }
}
#logging #back-button {
  margin-top: 2em;
}
#logging .horizontallist > .button {
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.setting-switch {
  text-align: left;
}
.setting-switch .horizontallist {
  display: inline-block;
  margin-bottom: 0.5em;
  margin-left: 5em;
}
.setting-switch .horizontallist .label {
  padding-right: 1.5em;
  vertical-align: middle;
}
.setting-switch .horizontallist .switch {
  margin-right: 0.5em;
  vertical-align: middle;
}

.setting-label {
  font-size: 2em;
  padding: 1em;
  display: block;
}

#app #senders #senders-list {
  max-width: 45em;
}
#app #senders #senders-list .sender-button {
  width: 10em;
  height: 7.5em;
  margin: 1em;
  transform: 0.4s;
}
#app #senders #senders-list .sender-button.buttonFocussed .sender-container .sender-label {
  color: #202020;
}
#app #senders #senders-list .sender-button .label {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
#app #senders #senders-list .sender-button .sender-container .sender-icon {
  margin-left: auto;
  margin-right: auto;
  display: block;
  background-color: #CCCCCC;
  border-radius: 50%;
  width: 3em;
  height: 3em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  padding: 0.5em;
}
#app #senders #senders-list .sender-button .sender-container .sender-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#app #senders #senders-list .sender-button .sender-container .sender-label {
  margin-left: auto;
  margin-right: auto;
  display: block;
  color: #000;
  text-transform: none;
}
#app #senders #senders-list .sender-button.buttonFocussed {
  background-color: #ffc106;
  transform: scale(1.1);
}
#app #senders #senders-list .sender-button.buttonBlurred {
  background-color: #F9F9F9;
  transform: scale(1);
}
@keyframes sender-button-color {
  from {
    background-color: #F9F9F9;
    transform: scale(1);
  }
  to {
    background-color: #ffc106;
    transform: scale(1.1);
  }
}
@keyframes sender-button-color-off {
  from {
    background-color: #ffc106;
    transform: scale(1.1);
  }
  to {
    background-color: #F9F9F9;
    transform: scale(1);
  }
}
@-webkit-keyframes webkit-sender-button-color {
  from {
    background-color: #F9F9F9;
    transform: scale(1);
  }
  to {
    background-color: #ffc106;
    transform: scale(1.1);
  }
}
@-webkit-keyframes webkit-sender-button-color-off {
  from {
    background-color: #ffc106;
    transform: scale(1.1);
  }
  to {
    background-color: #F9F9F9;
    transform: scale(1);
  }
}

.dark #app #senders #senders-list .sender-button.buttonFocussed {
  background-color: #FF9F00;
}

#dark-switch .switchSlider {
  background-image: url("components/senders/images/bg-light-mode.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#dark-switch .switchSlider:before {
  background-image: url("components/senders/images/light-mode.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#dark-switch.switchOn .switchSlider {
  background-image: url("components/senders/images/bg-dark-mode.png");
}
#dark-switch.switchOn .switchSlider:before {
  background-image: url("components/senders/images/dark-mode.png");
}

#app #senders #senders-top {
  padding-bottom: 1em;
}
#app #senders #senders-top > .listitem {
  vertical-align: top;
}
#app #senders #senders-top #senders-detected {
  min-width: 35em;
  margin-top: 2em;
}
#app #senders .heading {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  white-space: wrap;
}
#app #senders #logo-section {
  padding-left: 6em;
  padding-right: 1em;
  padding-top: 1em;
}
#app #senders #logo-section .receiver-logo img {
  width: 16em;
  height: 16em;
}
#app #senders #logo-section #dark-switch {
  display: inline-block;
  margin-right: 0.7em;
}
#app #senders #scanning-list, #app #senders #scanning-stopped-list, #app #senders #select-sender {
  font-size: 2em;
  vertical-align: top;
  margin-bottom: 1.5em;
}
#app #senders #scanning-list .label, #app #senders #scanning-stopped-list .label {
  max-width: 15em;
}
#app #senders #scanning-list .listitem, #app #senders #scanning-stopped-list .listitem {
  display: inline-block;
}
#app #senders #scanning-list .scanning, #app #senders #scanning-stopped-list .scanning {
  width: 1em;
  height: 1em;
  margin-bottom: 0.5em;
}
#app #senders #scanning-list #remote, #app #senders #scanning-stopped-list #remote {
  width: 1.5em;
  height: 1.5em;
  background-image: url("components/senders/images/remote.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
#app #senders #scanning-list .scanning, #app #senders #scanning-list #remote, #app #senders #scanning-stopped-list .scanning, #app #senders #scanning-stopped-list #remote {
  vertical-align: top;
  margin-right: 0.5em;
}
#app #senders #scanning-list .scanning img, #app #senders #scanning-list #remote img, #app #senders #scanning-stopped-list .scanning img, #app #senders #scanning-stopped-list #remote img {
  width: 100%;
  height: 100%;
}
#app #senders #scanning-stopped-list {
  display: none;
}
#app #senders #app-version {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #105098;
  padding: 0.2em;
  font-size: 1em;
}
#app #senders #app-version #secure-img img {
  padding-left: 0.3em;
  width: 1em;
  height: 1em;
  margin-bottom: -2px;
  opacity: 0.4;
  filter: invert(1);
}
#app #senders #connect-manually {
  margin-top: 1em;
  max-width: 25em;
}
#app #senders #select-sender {
  display: none;
  max-width: 20em;
}
#app #senders.senders-available #select-sender {
  display: inline-block;
  margin-bottom: 0.5em;
}
#app #senders.senders-available #scanning-list, #app #senders.senders-available #scanning-stopped-list {
  margin-top: 1em;
  font-size: 1em;
  margin-bottom: 1em;
}
#app #senders.senders-available #scanning-list .label, #app #senders.senders-available #scanning-stopped-list .label {
  max-width: 40em;
}
#app #senders.scanning-active #scanning-list {
  display: block;
}
#app #senders.scanning-active #scanning-stopped-list {
  display: none;
}
#app #senders.scanning-inactive #scanning-list {
  display: none;
}
#app #senders.scanning-inactive #scanning-stopped-list {
  display: block;
}

.dark #app #senders #app-version {
  color: #828282;
}
.dark #app #senders #app-version #secure-img img {
  opacity: 0.6;
  filter: none;
}
.dark #app #senders #scanning-stopped-list #remote {
  background-image: url("components/senders/images/remote-dark.png");
}

#keyboard {
  width: 30.8em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1em;
}
#keyboard .row {
  display: block;
  height: 2.8em;
  white-space: nowrap;
}
#keyboard .row .keyboardButton {
  display: inline-block;
  width: 2.8em;
  height: 2.8em;
  margin: 0;
}
#keyboard .row .keyboardButton .label {
  font-size: 1.12em;
  line-height: 1.68em;
}
#keyboard .row .keyboardButton.keyDEL {
  width: 3.36em;
}
#keyboard .row .spacer {
  display: inline-block;
  width: 2.8em;
  height: 1px;
  margin: 0;
}
#keyboard .row .spacer#keyboard_9_1 {
  width: 1.4em;
}
#keyboard #keyboard_row_2 {
  padding-left: 1.4em;
}

.loader {
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  text-indent: -9999em;
  border-top: 2px solid #2196F3 !important;
  border-right: 2px solid #2196F3 !important;
  border-bottom: 2px solid #2196F3 !important;
  border-left: 2px solid #EEEEEE !important;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
#connect #tutorial-button {
  padding: 0.5em;
  position: absolute;
  right: 0;
  top: 0;
  height: 2.5em;
  z-index: 1000;
}
#connect #logo-container {
  height: 4em;
}
#connect #logo-container #busy-container {
  width: 4em;
  height: 4em;
  display: none;
}
#connect #logo-container.loading #busy-container {
  display: inline-block;
}
#connect #logo-container #error, #connect #logo-container #success {
  display: none;
}
#connect #logo-container.error #error {
  display: inline-block;
}
#connect #logo-container.success #success {
  display: block;
}
#connect #logo-container #error {
  height: 4em;
  padding: 4px;
}
#connect #logo-container #error #error-message {
  height: 1em;
}
#connect #logo-container #error #error-img {
  margin-left: auto;
  margin-right: auto;
}
#connect #logo-container #error #error-img img {
  padding: 0.45em;
  width: 2.1em;
  height: 2.1em;
}
#connect #logo-container.loading .receiver-logo, #connect #logo-container.error .receiver-logo, #connect #logo-container.success .receiver-logo {
  display: none;
}
#connect #enter-code {
  height: 2em;
  font-size: 2em;
  line-height: 2em;
  text-align: center;
  margin-top: 1em;
  max-width: 16em;
  margin-left: auto;
  margin-right: auto;
}
#connect #connect-button {
  margin-top: 1em;
  max-width: 32em;
}
#connect #app-version {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #105098;
  padding: 0.2em;
  font-size: 1em;
}
#connect #app-version #secure-img img {
  padding-left: 0.3em;
  width: 1em;
  height: 1em;
  margin-bottom: -2px;
  opacity: 0.4;
  filter: invert(1);
}

.dark #app #connect #app-version {
  color: #828282;
}
.dark #app #connect #app-version #secure-img img {
  opacity: 0.6;
  filter: none;
}

#tutorial #loading-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 80vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}
#tutorial #youtube-video-frame {
  width: 100vw;
  height: 85vh;
  z-index: 1;
}
#tutorial #action-container {
  height: 15vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 5vh;
}
#tutorial #action-container .button {
  box-shadow: none;
  border-radius: 50%;
  margin-left: 1.5vw;
  margin-right: 1.5vw;
  width: 9vh;
  height: 9vh;
}
#tutorial #action-container .button .image img {
  width: 5vh;
  height: 5vh;
  padding: 2vh;
}

#help #help-container {
  position: relative;
}
#help #go-back {
  margin-top: 1em;
  margin-bottom: 0;
}
#help #screenshot-container .container.image {
  display: inline-block;
}
#help #screenshot-container .container.image#phone-code {
  margin-right: 0.8em;
}
#help #connect-circled_img {
  width: 25em;
  height: 5.2em;
}
#help #cast-to-smart-tv_img {
  width: 13em;
  height: 11em;
}
#help #phone-code_img {
  width: 6.2em;
  height: 11em;
}
#help #enter-code_img {
  width: 16em;
  height: 11em;
}
#help #top-panel {
  border-bottom: grey;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
#help #top-left-panel, #help #bottom-left-panel {
  border-right: grey;
  border-right-width: 1px;
  border-right-style: solid;
}
#help #top-panel, #help #bottom-panel {
  white-space: nowrap;
  height: 17em;
}
#help #top-panel > .container,
#help #bottom-panel > .container {
  display: inline-block;
  width: 30em;
  vertical-align: top;
  height: 17em;
}
#help #top-panel > .container > .label,
#help #bottom-panel > .container > .label {
  font-size: 1.8em;
  font-weight: bold;
  padding-bottom: 0.4em;
  display: block;
  white-space: normal;
}
#help #top-panel > .container > .label#android-label, #help #top-panel > .container > .label#ios-label,
#help #bottom-panel > .container > .label#android-label,
#help #bottom-panel > .container > .label#ios-label {
  font-size: 1em;
  font-weight: normal;
}
#help #top-left-title {
  display: block;
}
#help #bottom-left-title, #help #bottom-right-title {
  padding-top: 0.4em;
}
#help #app-info {
  display: inline-block;
  margin-left: 1.2em;
  margin-right: 1.2em;
  vertical-align: top;
}
#help #app-info > .label {
  display: block;
}
#help #app-info #app-logo {
  padding-bottom: 1em;
}
#help #app-info #app-logo #app-logo_img {
  width: 5.1em;
  height: 5.1em;
}
#help #app-info #app-name, #help #app-info #or-visit {
  padding-bottom: 0.5em;
}
#help #app-info #url {
  font-size: 0.8em;
}
#help #android-container, #help #ios-container {
  display: inline-block;
}

#connected {
  background-color: #000;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(components/connected/splash-hd.png);
  background-position: center;
  position: relative;
  width: 100%;
  height: 100%;
}
#connected #back-button {
  margin: 2em;
  animation: none;
  -webkit-animation: none;
}
#connected #back-button.buttonFocussed {
  transform: scale(1);
}
#connected #message {
  font-size: 2em;
  color: #FFF;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  padding-bottom: 1em;
}

#app .button.horizontalslider {
  background-color: rgba(255, 255, 255, 0.5);
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 50%;
  height: 0.5em;
  animation: slider-focus-off 1s;
  -webkit-animation: webkit-slider-focus-off 1s;
  margin-bottom: 0;
  vertical-align: middle;
  transform: scale(1);
}
#app .button.horizontalslider.focus {
  box-shadow: 0 0 1em 0.2em #FFF;
  animation: slider-focus-on 1s;
  -webkit-animation: webkit-slider-focus-on 1s;
}
#app .button.horizontalslider .scrubbarbuffer {
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
}
#app .button.horizontalslider .horizontalsliderleft {
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 100%;
  background-color: rgb(255, 255, 255);
}
#app .button.horizontalslider .horizontalsliderhandle {
  position: absolute;
  left: 0;
  top: -0.8em;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: rgb(255, 255, 255);
}
@keyframes slider-focus-off {
  0% {
    box-shadow: 0 0 1em 0.2em rgb(255, 255, 255);
  }
  100% {
    box-shadow: 0 0 1em 0 rgba(255, 255, 255, 0);
  }
}
@keyframes slider-focus-on {
  0% {
    box-shadow: 0 0 1em 0 rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 1em 0.2em rgb(255, 255, 255);
  }
}
@-webkit-keyframes webkit-slider-focus-off {
  0% {
    box-shadow: 0 0 1em 0.2em rgb(255, 255, 255);
  }
  100% {
    box-shadow: 0 0 1em 0 rgba(255, 255, 255, 0);
  }
}
@-webkit-keyframes webkit-slider-focus-on {
  0% {
    box-shadow: 0 0 1em 0 rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 1em 0.2em rgb(255, 255, 255);
  }
}

.controls-active #subtitles-container {
  bottom: 11.5em;
}

#subtitles-container {
  bottom: 0.5em;
  position: absolute;
  left: 0;
  right: 0;
}
#subtitles-container.sub-line-0 {
  bottom: auto;
  top: 0;
}
#subtitles-container.sub-line-10 {
  bottom: auto;
  top: 10%;
}
#subtitles-container.sub-line-20 {
  bottom: auto;
  top: 20%;
}
#subtitles-container.sub-line-30 {
  bottom: auto;
  top: 30%;
}
#subtitles-container.sub-line-40 {
  bottom: auto;
  top: 40%;
}
#subtitles-container.sub-line-50 {
  bottom: auto;
  top: 50%;
}
#subtitles-container.sub-line-60 {
  bottom: 40%;
}
#subtitles-container.sub-line-70 {
  bottom: 30%;
}
#subtitles-container.sub-line-80 {
  bottom: 20%;
}
#subtitles-container.sub-line-90 {
  bottom: 10%;
}
#subtitles-container.sub-line-100 {
  bottom: 0;
}
#subtitles-container.sub-position-0 {
  left: 0;
  right: auto;
}
#subtitles-container.sub-position-10 {
  left: 10%;
  right: auto;
}
#subtitles-container.sub-position-20 {
  left: 20%;
  right: auto;
}
#subtitles-container.sub-position-30 {
  left: 30%;
  right: auto;
}
#subtitles-container.sub-position-40 {
  left: 40%;
  right: auto;
}
#subtitles-container.sub-position-50 {
  left: 0;
  right: 0;
}
#subtitles-container.sub-position-60 {
  left: auto;
  right: 40%;
}
#subtitles-container.sub-position-70 {
  left: auto;
  right: 30%;
}
#subtitles-container.sub-position-80 {
  left: auto;
  right: 20%;
}
#subtitles-container.sub-position-90 {
  left: auto;
  right: 10%;
}
#subtitles-container.sub-position-100 {
  left: auto;
  right: 0;
}
#subtitles-container #subtitles {
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  padding: 0.7em;
  font-size: 1.8em;
}
#subtitles-container #subtitles.subtitles-empty {
  display: none;
}
#subtitles-container #subtitles > span {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  white-space: pre-wrap;
  display: block;
}

/*
#app.rootwidget.video-player {
  text-align: left;

  #main {
    margin: 0;
    padding: 0;
    max-width: none;
  }
}
*/
#app.video-player {
  background-color: #000000 !important;
}

#mediaPlayerVideo {
  object-fit: contain;
}

#video-player {
  height: 100%;
  position: relative;
  overflow: hidden;
}
#video-player #audio-image_img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
#video-player #buffering {
  position: absolute;
  left: 2.5em;
  bottom: 2em;
}
#video-player #buffering > div {
  box-shadow: 0 0 1em 0.2em #000;
}
#video-player #control-stack {
  position: absolute;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 35%, rgb(0, 0, 0));
  padding-bottom: 1em;
  padding-top: 2em;
}
#video-player #control-stack #scrub-container .label {
  font-size: 2em;
  color: #FFF;
  display: inline-block;
  padding-left: 0.5em;
  padding-right: 0.5em;
  vertical-align: middle;
}
#video-player #control-stack #action-container .button {
  box-shadow: none;
  border-radius: 50%;
  margin-left: 1em;
  margin-right: 1em;
}
#video-player #control-stack #action-container .button.buttonDisabled {
  opacity: 0;
}
#video-player #control-stack #action-container .button .image img {
  width: 3em;
  height: 3em;
  padding: 1em;
}
#video-player #scrub-bar, #video-player #scrub-bar_buffer, #video-player #scrub-bar_left, #video-player #scrub-bar_slider {
  pointer-events: none;
}

#image-player {
  width: 100%;
  height: 100%;
}
#image-player #main-image_img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
#image-player #loading {
  position: absolute;
  left: 2.5em;
  bottom: 2em;
  z-index: 1000;
}
#image-player #loading > div {
  box-shadow: 0 0 1em 0.2em #000;
}
#image-player #back-button {
  display: none;
}
#image-player #action-container {
  position: absolute;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 35%, rgb(0, 0, 0));
  padding-bottom: 1em;
  padding-top: 2em;
}
#image-player #action-container .button {
  box-shadow: none;
  border-radius: 50%;
  margin-left: 1em;
  margin-right: 1em;
}
#image-player #action-container .button.buttonDisabled {
  opacity: 0.5;
  background-color: #232323;
}
#image-player #action-container .button .image img {
  width: 3em;
  height: 3em;
  padding: 1em;
}

@font-face {
  font-family: "Roboto";
  src: url("web-fonts/roboto_medium/Roboto-Medium-webfont.eot");
  src: url("web-fonts/roboto_medium/Roboto-Medium-webfont.eot?#iefix") format("embedded-opentype"), url("web-fonts/roboto_medium/Roboto-Medium-webfont.woff2") format("woff2"), url("web-fonts/roboto_medium/Roboto-Medium-webfont.woff") format("woff"), url("web-fonts/roboto_medium/Roboto-Medium-webfont.ttf") format("truetype"), url("web-fonts/roboto_medium/Roboto-Medium-webfont.svg#robotobold") format("svg");
  font-weight: bold;
  font-style: normal;
}
/*
@font-face {
  font-family: 'Roboto';
  src: url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.eot");
  src: url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.eot?#iefix") format("embedded-opentype"), 
    url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.woff2") format("woff2"), 
    url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.woff") format("woff"), 
    url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.ttf") format("truetype"), 
    url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.svg#robotobold_italic") format("svg");
  font-weight: bold;
  font-style: italic, oblique; 
}
*/
@font-face {
  font-family: "Roboto";
  src: url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.eot");
  src: url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.eot?#iefix") format("embedded-opentype"), url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.woff2") format("woff2"), url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.woff") format("woff"), url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.ttf") format("truetype"), url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.svg#robotolightitalic") format("svg");
  font-weight: normal;
  font-style: italic, oblique;
}
@font-face {
  font-family: "Roboto";
  src: url("web-fonts/roboto_light/Roboto-Light-webfont.eot");
  src: url("web-fonts/roboto_light/Roboto-Light-webfont.eot?#iefix") format("embedded-opentype"), url("web-fonts/roboto_light/Roboto-Light-webfont.woff2") format("woff2"), url("web-fonts/roboto_light/Roboto-Light-webfont.woff") format("woff"), url("web-fonts/roboto_light/Roboto-Light-webfont.ttf") format("truetype"), url("web-fonts/roboto_light/Roboto-Light-webfont.svg#robotolight") format("svg");
  font-weight: normal;
  font-style: normal;
}
.carouselmask {
  overflow: hidden;
  /*
  #carouselComponent {
      position: relative;

      & > .carouselmask {
          margin-left: auto;
          margin-right: auto;
      }
  }

  #carouselComponent

  #carouselComponent>.description {
      position: static;
  }

  .carouselwidgetstrip>.button {
      margin: 0;
      width: 200px;
      padding: 32px;
  }

  .carouselwidgetstrip.vertical>.button {
      height: 200px;
  }
  */
}
.carouselmask .carouselwidgetstrip {
  position: relative;
  white-space: nowrap;
}
.carouselmask .carouselwidgetstrip.vertical > .carouselItem {
  display: block;
}
.carouselmask .carouselwidgetstrip.horizontal > .carouselItem {
  display: inline-block;
}
.carouselmask.overflow-left {
  position: relative;
}
.carouselmask.overflow-left::before {
  display: inline-block;
  content: " ";
  width: 50px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, rgba(128, 128, 128, 0.3), rgba(0, 0, 0, 0));
  z-index: 1;
}
.carouselmask.overflow-right {
  position: relative;
}
.carouselmask.overflow-right::after {
  display: block;
  content: " ";
  width: 50px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(128, 128, 128, 0.3));
  z-index: 1;
}

.card-container {
  background-color: #2196f3;
  width: 100%;
  height: 100%;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
.card-container .card {
  margin-left: auto;
  margin-right: auto;
  max-width: 70em;
  color: #202020;
  background-color: #FFFFFF;
  box-shadow: 0px 0.25em 1.16em rgba(0, 0, 0, 0.2);
  border-radius: 0.17em;
  overflow-y: auto;
  overflow-x: hidden;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  margin: 1.5em;
  padding: 2em;
  display: inline-block;
  min-width: 60em;
}

.dark .card-container {
  background-color: #000000;
}
.dark .card-container .card {
  color: #F9F9F9;
  background-color: #000000;
  box-shadow: none;
  border-radius: 0;
}

.button {
  background-color: #2196f3;
  box-shadow: 0px 0.25em 0.58em rgba(0, 0, 0, 0.2);
  border-radius: 0.17em;
  border: 0;
  outline: none;
  display: block;
  max-width: 50em;
  margin: 0 auto 1em auto;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  -webkit-tap-highlight-color: transparent;
}
.button > div {
  outline: none;
}
.button > div > img {
  outline: none;
}
.button .label {
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  color: #F9F9F9;
  line-height: 1.5em;
  padding: 0.5em;
  display: block;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
.button.linkButton .label {
  text-decoration: underline;
}
.button.linkButton.buttonFocussed {
  background-color: #ffc106;
  transform: scale(1.1);
}
.button.linkButton.buttonFocussed .label {
  color: #F9F9F9;
}
.button.linkButton.buttonBlurred {
  background-color: #FFFFFF;
  box-shadow: none;
  transform: scale(1);
}
.button.linkButton.buttonBlurred .label {
  color: #202020;
}

.buttonFocussed {
  background-color: #ffc106;
  transform: scale(1.1);
}

.buttonBlurred {
  transform: scale(1);
}

.buttonFocussed.menuendpoint {
  background-color: #ffc106;
}

.dark .button {
  background-color: #002D61;
  box-shadow: 0px 0.25em 0.58em rgba(220, 220, 220, 0.2);
}
.dark .button.linkButton.buttonFocussed {
  background-color: #FF9F00;
}
.dark .button.linkButton.buttonFocussed .label {
  color: #F9F9F9;
}
.dark .button.linkButton.buttonBlurred {
  background-color: #000000;
}
.dark .button.linkButton.buttonBlurred .label {
  color: #F9F9F9;
}
.dark .button.buttonFocussed {
  background-color: #FF9F00;
}

.card-container {
  background-color: #2196f3;
  width: 100%;
  height: 100%;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
.card-container .card {
  margin-left: auto;
  margin-right: auto;
  max-width: 70em;
  color: #202020;
  background-color: #FFFFFF;
  box-shadow: 0px 0.25em 1.16em rgba(0, 0, 0, 0.2);
  border-radius: 0.17em;
  overflow-y: auto;
  overflow-x: hidden;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  margin: 1.5em;
  padding: 2em;
  display: inline-block;
  min-width: 60em;
}

.dark .card-container {
  background-color: #000000;
}
.dark .card-container .card {
  color: #F9F9F9;
  background-color: #000000;
  box-shadow: none;
  border-radius: 0;
}

html {
  height: 100%;
}

body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Roboto", "Helvetica", sans-serif;
  font-weight: lighter;
  color: #202020;
  background-color: #2196f3;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
body.dark {
  color: #F9F9F9;
  background-color: #000000;
}

#analytics-frame {
  width: 1px;
  height: 1px;
  position: absolute;
  right: 0;
  bottom: 0;
  visibility: hidden;
  border: 0;
}

#log-box {
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10000;
  font-family: monospace;
  background-color: rgba(0, 0, 0, 0.5);
  overflow: scroll;
  min-height: 25%;
  max-height: 75%;
  font-size: 14pt;
  word-break: break-word;
  pointer-events: none;
}
#log-box.hidden {
  display: none;
}
#log-box .log-debug {
  color: #c1c7c7;
}
#log-box .log-info {
  color: #80a7c1;
}
#log-box .log-warn {
  color: #bcc23a;
}
#log-box .log-error {
  color: #fa827e;
}

#app {
  text-align: center;
}
#app object {
  position: absolute;
}

/* List widgets */
.horizontallist,
.verticallist {
  position: relative;
}

.horizontallist .listitem {
  display: inline-block;
}

/* nested lists - use #IDs instead for more complex layouts */
.verticallist .horizontallist .listitem {
  display: inline-block;
}

.verticallist .listitem {
  display: block;
  position: relative;
}

/* nested lists - use #IDs instead for more complex layouts */
.horizontallist .verticallist .listitem {
  display: block;
}

/* Horizontal carousel widgets */
/* the mask is the top level of the carousel and defines where it is displayed and how much is visible */
.horizontallistmask {
  overflow: hidden;
  width: 100%;
}

/* ensure nested carousels have correct formatting, you may need to target IDs in complex layouts */
.horizontallistmask .horizontallist .listitem {
  display: inline-block;
}

.horizontalcarousel {
  width: 99999px;
  /* needs to be big enough so carousel plus clones do not flow onto more then one line */
}

/* DEVICE SPECIFIC DEFAULTS EXAMPLE ------------------ */
/* if you target some consoles you may need to add additional styles like this */
.someConsoles .horizontallist .listitem {
  display: inline-block;
  float: left;
}

/* SAMPLEAPP BASE STYLES */
/* Core */
/* Maple needs initial element background in base stylesheet... not in dynamically loaded styles! */
/*
.samsung.layout540p #app {
    width: 960px;
    height: 540px;
    background-image: url(../img/bbc_background_540.png);
    background-repeat: no-repeat;
    background-color: red;
}

.samsung.layout720p #app {
    width: 1280px;
    height: 720px;
    background-image: url(../img/bbc_background_720.png);
    background-repeat: no-repeat;
}

.samsung.layout1080p #app {
    width: 1920px;
    height: 1080px;
    background-image: url(../img/bbc_background_1080.png);
    background-repeat: no-repeat;
}
*/
/* Sample app specific styles */
#title {
  font-size: 150%;
  line-height: 120%;
  display: block;
  text-align: center;
  margin: 2% auto 0 auto;
}

.background-none {
  background-image: none !important;
  background-color: transparent !important;
}

.description {
  text-align: center;
  display: block;
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
  padding: 8px 0px;
}

#testPlayer {
  z-index: 0;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 1280px;
  height: 720px;
}

#playerButtons {
  z-index: 1;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.5);
  display: block;
  text-align: center;
  padding: 8px;
  color: #000000;
}

#playerButtons .button {
  width: 75px;
  padding: 10px;
  text-align: center;
  margin: 5px;
}

/* Display & Visibility Helpers */
.display-none {
  display: none !important;
}

.visibility-hidden {
  visibility: hidden !important;
}

#progressBar {
  margin-top: 10%;
  width: 50%;
  margin-left: 25%;
  min-height: 10px;
  background: #070;
}

#progressBar_left {
  min-height: 10px;
  background: #700;
}

#progressBar_inner {
  width: 10px;
  min-height: 10px;
  background: #777;
  position: relative;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInd2Yy9fbG9hZGluZy5zY3NzIiwid3ZjL19jb2xvcnMuc2NzcyIsInd2Yy9jb21wb25lbnRzL3dpZGdldHMvc3dpdGNoL19zd2l0Y2guc2NzcyIsInd2Yy9jb21wb25lbnRzL3dpZGdldHMvY2xpY2thYmxlLWJ1dHRvbi9fY2xpY2thYmxlLWJ1dHRvbi5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy9iYWNrLWJ1dHRvbi9fYmFjay1idXR0b24uc2NzcyIsInd2Yy9jb21wb25lbnRzL3dpZGdldHMvdGV4dC1pbnB1dC9fdGV4dC1pbnB1dC5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy9sb2FkaW5nLWJhcnMvX2xvYWRpbmctYmFycy5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy95b3V0dWJlLXZpZGVvL195b3V0dWJlLXZpZGVvLnNjc3MiLCJ3dmMvY29tcG9uZW50cy93aWRnZXRzL3d2Yy1sb2dvL193dmMtbG9nby5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy9yZWNlaXZlci1sb2dvL19yZWNlaXZlci1sb2dvLnNjc3MiLCJ3dmMvY29tcG9uZW50cy93aWRnZXRzL3NjYW5uaW5nL19zY2FubmluZy5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy9xci1jb2RlL19xci1jb2RlLnNjc3MiLCJ3dmMvY29tcG9uZW50cy93aWRnZXRzL2dldC13dmMvX2dldC13dmMuc2NzcyIsInd2Yy9jb21wb25lbnRzL2RlbW8vX2RlbW8uc2NzcyIsInd2Yy9jb21wb25lbnRzL3NldHRpbmdzL19sb2dnaW5nLnNjc3MiLCJ3dmMvY29tcG9uZW50cy9zZXR0aW5ncy9fc2V0dGluZy1zd2l0Y2guc2NzcyIsInd2Yy9jb21wb25lbnRzL3NldHRpbmdzL19zZXR0aW5ncy5zY3NzIiwid3ZjL2NvbXBvbmVudHMvc2VuZGVycy9fc2VuZGVycy1saXN0LnNjc3MiLCJ3dmMvY29tcG9uZW50cy9zZW5kZXJzL19kYXJrLXN3aXRjaC5zY3NzIiwid3ZjL2NvbXBvbmVudHMvc2VuZGVycy9fc2VuZGVycy5zY3NzIiwid3ZjL2NvbXBvbmVudHMvY29ubmVjdC9fa2V5Ym9hcmQuc2NzcyIsInd2Yy9jb21wb25lbnRzL2Nvbm5lY3QvX2xvYWRlci5zY3NzIiwid3ZjL2NvbXBvbmVudHMvY29ubmVjdC9fY29ubmVjdC5zY3NzIiwid3ZjL2NvbXBvbmVudHMvdHV0b3JpYWwvX3R1dG9yaWFsLnNjc3MiLCJ3dmMvY29tcG9uZW50cy9oZWxwL19oZWxwLnNjc3MiLCJ3dmMvY29tcG9uZW50cy9jb25uZWN0ZWQvX2Nvbm5lY3RlZC5zY3NzIiwid3ZjL2NvbXBvbmVudHMvdmlkZW8tcGxheWVyL19zY3J1Yi1iYXIuc2NzcyIsInd2Yy9jb21wb25lbnRzL3ZpZGVvLXBsYXllci9fc3VidGl0bGVzLnNjc3MiLCJ3dmMvY29tcG9uZW50cy92aWRlby1wbGF5ZXIvX3ZpZGVvLXBsYXllci5zY3NzIiwid3ZjL2NvbXBvbmVudHMvaW1hZ2UtcGxheWVyL19pbWFnZS1wbGF5ZXIuc2NzcyIsInd2Yy93ZWItZm9udHMvX3dlYi1mb250cy5zY3NzIiwid3ZjL19jYXJvdXNlbC5zY3NzIiwid3ZjL19jYXJkLnNjc3MiLCJ3dmMvX2J1dHRvbi5zY3NzIiwid3ZjL2FwcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0JDR007RURGTjtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUU3QlI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBLGNEUFE7RUNRUjs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCRHpCUztFQzBCVDtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7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RTs7QUFHRjtFQUNFOztBQUdGO0VBQ0UsUUF2Q0s7RUF3Q0w7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBTUo7RUFDRTs7QUFNTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLFdBaEZJOztBQW1GTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDRTs7QUFFQztFQUNDO0VBQ0E7OztBQzlHRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7OztBQ3BDbEI7RUFDRTs7QUFHRjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNJO0VBQ0E7O0FBR0o7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVFO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBS1I7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNFOztBQUNBO0VBQ0U7RUFDQTs7QUFJSjtFQUNJOztBQUdKO0VBQ0k7O0FBSU47RUFDRTs7O0FDakhKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDNUJKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7O0FDM0VKO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FDaklOO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNB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QmpDekJPOzs7QWlDNkJYO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0UsT2pDekRLOzs7QWlDNkRUO0VBQ0U7O0FBRUE7RUFDRTs7O0FBSUo7QUFDQTtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0FBQ0E7QUFDQTtFQUNFO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTs7O0FBR0Y7RUFDRTtBQUNBOzs7QUFHRjtBQUVBO0FBQ0E7RUFDRTtFQUNBOzs7QUFHRjtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXdCQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuI3N0YXRpYy1sb2FkaW5nLXNjcmVlbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd3ZjQmx1ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICAjYXBwLWxvYWQtZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBwYWRkaW5nOiAzZW07XG4gICAgfVxuXG4gICAgLmxvYWRpbmctYmFycyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDIuM2VtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luOiAxLjdlbSAwO1xuICAgICAgICBwYWRkaW5nOiAwIDQuMmVtO1xuICAgIH1cbn0iLCIkd3ZjV2hpdGU6ICNGRkZGRkY7XG4kd3ZjQWxtb3N0V2hpdGU6ICNGOUY5Rjk7XG4kd3ZjQmxhY2s6ICMwMDAwMDA7XG4kd3ZjQWxtb3N0QmxhY2s6ICMyMDIwMjA7XG4kd3ZjTGlnaHRHcmV5OiAjRUZFRkVGO1xuJHd2Y01lZEdyZXk6ICNDQ0NDQ0M7XG4kd3ZjRGFya0dyZXk6ICM0MTQxNDE7XG5cblxuJHd2Y0JsdWU6ICMyMTk2ZjM7XG4kd3ZjQmx1ZS1kYXJrOiAjMDAyRDYxO1xuJHd2Y1llbGxvdzogI2ZmYzEwNjtcbiR3dmNZZWxsb3ctZGFyazogI0ZGOUYwMDtcbiR3dmNSZWQ6ICNmYTgyN2U7XG5cbiRzaGFkb3dDb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuJHNoYWRvd0NvbG9yLWRhcms6IHJnYmEoMjIwLCAyMjAsIDIyMCwgMC4yKTtcblxuJHRleHRDb2xvcjogJHd2Y0FsbW9zdEJsYWNrO1xuJHRleHRDb2xvci1kYXJrOiAkd3ZjQWxtb3N0V2hpdGU7XG5cbiRiYWNrZ3JvdW5kQ29sb3I6ICR3dmNCbHVlO1xuJGJhY2tncm91bmRDb2xvci1kYXJrOiAkd3ZjQmxhY2s7IiwiQGltcG9ydCBcIi4uLy4uLy4uL2NvbG9yc1wiO1xuXG4uc3dpdGNoIHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMWVtO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIGJvcmRlci13aWR0aDogMC4xNWVtO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcbiAgdHJhbnNpdGlvbjogMC40cztcblxuICAmLnN3aXRjaEZvY3Vzc2VkIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHd2Y1llbGxvdztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgLy9ib3gtc2hhZG93OiAwIDAgMC41OGVtICR3dmNZZWxsb3csIDAgMCAwLjI5ZW0gJHd2Y1llbGxvdywgMCAwIDAuMTRlbSAkd3ZjWWVsbG93LCAwIDAgMC4wOWVtICR3dmNZZWxsb3c7XG4gIH1cbiAgXG4gIC5zd2l0Y2hTbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3dmNNZWRHcmV5O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcblxuICAgIFxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDAuNzZlbTtcbiAgICAgIHdpZHRoOiAwLjc2ZW07XG4gICAgICBsZWZ0OiAwLjExN2VtO1xuICAgICAgYm90dG9tOiAwLjExN2VtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHd2Y1doaXRlO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzO1xuICAgICAgdHJhbnNpdGlvbjogMC40cztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cblxuICAmLnN3aXRjaE9uIHtcbiAgICAuc3dpdGNoU2xpZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3dmNCbHVlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFlbSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMWVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kYXJrIC5zd2l0Y2gge1xuICAmLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICR3dmNZZWxsb3ctZGFyaztcbiAgfVxuXG4gICYuc3dpdGNoT24ge1xuICAgIC5zd2l0Y2hTbGlkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHd2Y0JsdWUtZGFyaztcbiAgICB9XG4gIH1cbn1cbiIsIi5jbGlja2FibGUtYnV0dG9uIHtcbiAgJi5idXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5sYWJlbCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gIH1cbn0iLCIjYXBwIHtcbiAgICAjYmFjay1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvd2lkZ2V0cy9iYWNrLWJ1dHRvbi9pbWFnZXMvZXhpdC5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgICAgICYuYnV0dG9uRm9jdXNzZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL2JhY2stYnV0dG9uL2ltYWdlcy9leGl0LXdoaXRlLnBuZycpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGFyayAjYXBwICNiYWNrLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3dpZGdldHMvYmFjay1idXR0b24vaW1hZ2VzL2V4aXQtd2hpdGUucG5nJyk7XG59IiwiQGltcG9ydCBcIi4uLy4uLy4uL2NvbG9yc1wiO1xuXG4kaW5wdXRCYWNrZ3JvdW5kQ29sb3I6ICR3dmNMaWdodEdyZXk7XG4kaW5wdXRCYWNrZ3JvdW5kQ29sb3ItZGFyazogJHd2Y0RhcmtHcmV5O1xuXG4kcGxhY2Vob2xkZXJDb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuJHBsYWNlaG9sZGVyQ29sb3ItZGFyazogcmdiYSgyMjAsIDIyMCwgMjIwLCAwLjIpO1xuXG4kYm9yZGVyQ29sb3I6ICR3dmNCbHVlO1xuJGJvcmRlckNvbG9yLWRhcms6ICR3dmNCbHVlLWRhcms7XG5cbi50ZXh0LWlucHV0IHtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIsIGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuICBjb2xvcjogJHRleHRDb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0QmFja2dyb3VuZENvbG9yO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICBvdXRsaW5lOiBub25lO1xuXG4gIHRyYW5zaXRpb246IGJvcmRlciwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlckNvbG9yO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICRib3JkZXJDb2xvcjtcblxuICAmLnBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgYW5pbWF0aW9uOiAxcyBibGluayBzdGVwLWVuZCBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogMXMgd2Via2l0LWJsaW5rIHN0ZXAtZW5kIGluZmluaXRlO1xuICAgIGNvbnRlbnQ6ICd8JztcbiAgfVxuXG4gIEBrZXlmcmFtZXMgYmxpbmsge1xuICAgIGZyb20sIHRvIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIGNvbG9yOiAkdGV4dENvbG9yXG4gICAgfVxuICB9XG4gIFxuICBALXdlYmtpdC1rZXlmcmFtZXMgd2Via2l0LWJsaW5rIHtcbiAgICBmcm9tLCB0byB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBjb2xvcjogJHRleHRDb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmRhcmsgI2FwcCAudGV4dC1pbnB1dCB7XG4gIGNvbG9yOiAkdGV4dENvbG9yLWRhcms7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dEJhY2tncm91bmRDb2xvci1kYXJrO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyQ29sb3ItZGFyaztcbiAgYm94LXNoYWRvdzogMCAwIDVweCAkYm9yZGVyQ29sb3ItZGFyaztcblxuICAmOjphZnRlciB7XG4gICAgY29sb3I6ICR0ZXh0Q29sb3ItZGFyaztcbiAgICBhbmltYXRpb246IDFzIGJsaW5rLWRhcmsgc3RlcC1lbmQgaW5maW5pdGU7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IDFzIHdlYmtpdC1ibGluay1kYXJrIHN0ZXAtZW5kIGluZmluaXRlO1xuICB9XG5cbiAgQGtleWZyYW1lcyBibGluay1kYXJrIHtcbiAgICBmcm9tLCB0byB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBjb2xvcjogJHRleHRDb2xvci1kYXJrO1xuICAgIH1cbiAgfVxuICBcbiAgQC13ZWJraXQta2V5ZnJhbWVzIHdlYmtpdC1ibGluay1kYXJrIHtcbiAgICBmcm9tLCB0byB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBjb2xvcjogJHRleHRDb2xvci1kYXJrO1xuICAgIH1cbiAgfVxufSIsIi5sb2FkaW5nLWJhcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUuM2VtO1xuICBoZWlnaHQ6IDUuM2VtO1xufVxuLmxvYWRpbmctYmFycyBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMC41ZW07XG4gIHdpZHRoOiAxZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGFuaW1hdGlvbjogbG9hZGluZy1iYXJzIDEuMnMgY3ViaWMtYmV6aWVyKDAsIDAuNSwgMC41LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHdlYmtpdC1sb2FkaW5nLWJhcnMgMS4ycyBjdWJpYy1iZXppZXIoMCwgMC41LCAwLjUsIDEpIGluZmluaXRlO1xufVxuLmxvYWRpbmctYmFycyBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgbGVmdDogMC41ZW07XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMjRzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuMjRzO1xufVxuLmxvYWRpbmctYmFycyBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgbGVmdDogMi4xNWVtO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjEycztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjEycztcbn1cbi5sb2FkaW5nLWJhcnMgZGl2Om50aC1jaGlsZCgzKSB7XG4gIGxlZnQ6IDMuNzVlbTtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMDtcbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nLWJhcnMge1xuICAwJSB7XG4gICAgdG9wOiAwLjVlbTtcbiAgICBoZWlnaHQ6IDQuMjVlbTtcbiAgfVxuICA1MCUsIDEwMCUge1xuICAgIHRvcDogMS42ZW07XG4gICAgaGVpZ2h0OiAyLjJlbTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2Via2l0LWxvYWRpbmctYmFycyB7XG4gIDAlIHtcbiAgICB0b3A6IDAuNWVtO1xuICAgIGhlaWdodDogNC4yNWVtO1xuICB9XG4gIDUwJSwgMTAwJSB7XG4gICAgdG9wOiAxLjZlbTtcbiAgICBoZWlnaHQ6IDIuMmVtO1xuICB9XG59IiwiLnlvdXR1YmUtdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufSIsIiRsb2dvU2l6ZTogNGVtO1xuXG4jYXBwIHtcbiAgICAud3ZjLWxvZ28ge1xuICAgICAgICBwYWRkaW5nOiA0cHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogJGxvZ29TaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbG9nb1NpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIkbG9nb1NpemU6IDVlbTtcblxuI2FwcCB7XG4gICAgLnJlY2VpdmVyLWxvZ28ge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogJGxvZ29TaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbG9nb1NpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIkZHVyYXRpb246IDNzO1xuXG4uc2Nhbm5pbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cblxuICBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvd2lkZ2V0cy9zY2FubmluZy9pbWFnZXMvc2Nhbi0xLnBuZycpO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxuXG4gIGRpdjpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbjogc2Nhbm5pbmctYW5pbS0yICRkdXJhdGlvbiBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogd2Via2l0LXNjYW5uaW5nLWFuaW0tMiAkZHVyYXRpb24gaW5maW5pdGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvd2lkZ2V0cy9zY2FubmluZy9pbWFnZXMvc2Nhbi0yLnBuZycpO1xuICB9XG5cbiAgZGl2Om50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uOiBzY2FubmluZy1hbmltLTMgJGR1cmF0aW9uIGluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiB3ZWJraXQtc2Nhbm5pbmctYW5pbS0zICRkdXJhdGlvbiBpbmZpbml0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL3NjYW5uaW5nL2ltYWdlcy9zY2FuLTMucG5nJyk7XG4gIH1cblxufVxuXG5Aa2V5ZnJhbWVzIHNjYW5uaW5nLWFuaW0tMiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAxXG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNjYW5uaW5nLWFuaW0tMyB7XG4gIDAlLCAyNSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxXG4gIH1cbiAgNzUlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB3ZWJraXQtc2Nhbm5pbmctYW5pbS0yIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDFcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB3ZWJraXQtc2Nhbm5pbmctYW5pbS0zIHtcbiAgMCUsIDI1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDFcbiAgfVxuICA3NSUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmRhcmsgLnNjYW5uaW5nIHtcbiAgZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3dpZGdldHMvc2Nhbm5pbmcvaW1hZ2VzL3NjYW4tMS1kYXJrLnBuZycpO1xuICB9XG5cbiAgZGl2Om50aC1jaGlsZCgyKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3dpZGdldHMvc2Nhbm5pbmcvaW1hZ2VzL3NjYW4tMi1kYXJrLnBuZycpO1xuICB9XG5cbiAgZGl2Om50aC1jaGlsZCgzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3dpZGdldHMvc2Nhbm5pbmcvaW1hZ2VzL3NjYW4tMy1kYXJrLnBuZycpO1xuICB9XG59IiwiLnFyLWNvZGUge1xuICAgIC5xciA+IGltZyB7XG4gICAgICB3aWR0aDogN2VtO1xuICAgICAgaGVpZ2h0OiA3ZW07XG4gICAgfVxuXG4gICAgLnFyLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjFlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAucXItdHlwZSB7XG4gICAgICB3aWR0aDogMmVtO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cbiAgICAgICYucXItdHlwZS1pb3Mge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL3FyLWNvZGUvaW1hZ2VzL2lvcy5wbmcnKTtcbiAgICAgIH1cbiAgXG4gICAgICAmLnFyLXR5cGUtYW5kcm9pZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL3FyLWNvZGUvaW1hZ2VzL2FuZHJvaWQucG5nJyk7XG4gICAgICB9XG4gICAgfVxufVxuXG4uZGFyayAjYXBwIC5xci1jb2RlIHtcbiAgLnFyLXR5cGUge1xuICAgICYucXItdHlwZS1pb3Mge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3dpZGdldHMvcXItY29kZS9pbWFnZXMvaW9zLWRhcmsucG5nJyk7XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCBcIi4uLy4uLy4uL2NvbG9yc1wiO1xuXG4jYXBwIHtcbiAgICAuZ2V0LXd2YyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBcbiAgICAgICAgLnFyLWNvZGUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI2FuZHJvaWQtY29udGFpbmVyLFxuICAgICAgICAjaW9zLWNvbnRhaW5lcixcbiAgICAgICAgI2RvbnQtaGF2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgI2RvbnQtaGF2ZSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDBlbTtcblxuICAgICAgICAgICAgJj4ubGFiZWwsICNvci1nby10byB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2RvbnQtaGF2ZS1vci1nby10byB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC40ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNkb250LWhhdmUtdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzIxOTZmMztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2hlbHAtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRhcmsgI2FwcCAuZ2V0LXd2YyB7XG4gICAgICAgICNkb250LWhhdmUge1xuICAgICAgICAgICAgI2RvbnQtaGF2ZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3ItZGFyaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxufSIsIiNjc3MtZGVtb3Mge1xuICA+IC5pbWFnZSBpbWcge1xuICAgIHdpZHRoOiA4ZW07XG4gICAgaGVpZ2h0OiA4ZW07XG4gIH1cblxuICAjZGVtby1jb250YWluZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cbiAgICAjc3NsLXRlc3RzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmID4gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzc2wtdGVzdC1yZXN1bHQsICNzdXBwb3J0ZWQge1xuICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIH1cbiAgfVxufVxuXG4jY3NzLWRlbW8tem9vbSxcbiNjc3MtZGVtby1yb3RhdGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgPiAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbiNjc3MtZGVtby16b29tIHtcblxuICA+IC5pbWFnZSBpbWcge1xuICAgIHdpZHRoOiA0ZW07XG4gICAgaGVpZ2h0OiA0ZW07XG4gIH1cblxuICAjZGVtby1pbWctem9vbS00MCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjQsIDAuNCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNCwgMC40KTtcbiAgfVxuXG4gICNkZW1vLWltZy16b29tLTgwIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCwgMC44KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44LCAwLjgpO1xuICB9XG5cbiAgI2RlbW8taW1nLXpvb20tMTIwIHtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIsIDEuMik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMiwgMS4yKTtcbiAgfVxuXG4gICNkZW1vLWltZy16b29tLTE2MCB7XG4gICAgcGFkZGluZzogMjJweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNiwgMS42KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS42LCAxLjYpO1xuICB9XG5cbiAgI2RlbW8taW1nLXpvb20tMjAwIHtcbiAgICBwYWRkaW5nOiAzNnB4O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMiwgMik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDIsIDIpO1xuICB9XG59XG5cbiNkZW1vLWltZy1yb3RhdGUtOTAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4jZGVtby1pbWctcm90YXRlLTE4MCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuI2RlbW8taW1nLXJvdGF0ZS0yNzAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG59XG5cbiNkZW1vLWltZy1yb3RhdGUtMjcwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xufVxuXG4jY2FyLWRyaXZlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbmltYXRpb246IGRyaXZlIDNzIGluZmluaXRlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogd2Via2l0LWRyaXZlIDNzIGluZmluaXRlO1xufVxuXG4ja2V5Y29kZSwgI2JldGFzIHtcbiAgI2tleWNvZGUtY29udGFpbmVyLCAjYmV0YXMtY29udGFpbmVyIHtcbiAgICAmPiAubGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjNlbTtcbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkcml2ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwcHgpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB3ZWJraXQtZHJpdmUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDBweCk7XG4gIH1cbn0iLCIjbG9nZ2luZyB7XG4gICNiYWNrLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICB9XG5cbiAgLmhvcml6b250YWxsaXN0IHtcbiAgICA+IC5idXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICB9XG4gIH1cbn0iLCJcbi5zZXR0aW5nLXN3aXRjaCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDs7XG5cbiAgICAuaG9yaXpvbnRhbGxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogNWVtO1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICAgICAgLnN3aXRjaCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICcuL2xvZ2dpbmcnO1xuQGltcG9ydCAnLi9zZXR0aW5nLXN3aXRjaCc7XG5cbiAgLnNldHRpbmctbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfSIsIkBpbXBvcnQgXCIuLi8uLi9jb2xvcnNcIjtcblxuJGJ1dHRvbkJsdXJDb2xvcjogJHd2Y0FsbW9zdFdoaXRlO1xuJGJ1dHRvbkZvY3VzQ29sb3I6ICR3dmNZZWxsb3c7XG4kYnV0dG9uRm9jdXNDb2xvci1kYXJrOiAkd3ZjWWVsbG93LWRhcms7XG4kaWNvbkJhY2tncm91bmRDb2xvcjogJHd2Y01lZEdyZXk7XG5cbiNhcHAgI3NlbmRlcnMgI3NlbmRlcnMtbGlzdCB7XG4gICAgbWF4LXdpZHRoOiA0NWVtO1xuXG4gICAgLnNlbmRlci1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTBlbTtcbiAgICAgICAgaGVpZ2h0OiA3LjVlbTtcbiAgICAgICAgbWFyZ2luOiAxZW07XG4gICAgICAgIHRyYW5zZm9ybTogMC40cztcblxuICAgICAgICAmLmJ1dHRvbkZvY3Vzc2VkIC5zZW5kZXItY29udGFpbmVyIC5zZW5kZXItbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZW5kZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5zZW5kZXItaWNvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogM2VtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogM2VtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNWVtO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZW5kZXItbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi5idXR0b25Gb2N1c3NlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uRm9jdXNDb2xvcjtcbiAgICAgICAgICAgIC8vYW5pbWF0aW9uOiBzZW5kZXItYnV0dG9uLWNvbG9yIDAuNHMgZWFzZTtcbiAgICAgICAgICAgIC8vLXdlYmtpdC1hbmltYXRpb246IHdlYmtpdC1zZW5kZXItYnV0dG9uLWNvbG9yIDAuNHMgZWFzZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnV0dG9uQmx1cnJlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uQmx1ckNvbG9yO1xuICAgICAgICAgICAgLy9hbmltYXRpb246IHNlbmRlci1idXR0b24tY29sb3Itb2ZmIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIC8vLXdlYmtpdC1hbmltYXRpb246IHdlYmtpdC1zZW5kZXItYnV0dG9uLWNvbG9yLW9mZiAwLjJzIGVhc2U7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBzZW5kZXItYnV0dG9uLWNvbG9yIHtcbiAgICAgICAgICAgIGZyb20ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25CbHVyQ29sb3I7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25Gb2N1c0NvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBrZXlmcmFtZXMgc2VuZGVyLWJ1dHRvbi1jb2xvci1vZmYge1xuICAgICAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkZvY3VzQ29sb3I7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0byB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkJsdXJDb2xvcjtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIHdlYmtpdC1zZW5kZXItYnV0dG9uLWNvbG9yIHtcbiAgICAgICAgICAgIGZyb20ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25CbHVyQ29sb3I7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25Gb2N1c0NvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEAtd2Via2l0LWtleWZyYW1lcyB3ZWJraXQtc2VuZGVyLWJ1dHRvbi1jb2xvci1vZmYge1xuICAgICAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkZvY3VzQ29sb3I7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0byB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkJsdXJDb2xvcjtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGFyayAjYXBwICNzZW5kZXJzICNzZW5kZXJzLWxpc3Qge1xuICAgIC5zZW5kZXItYnV0dG9uIHtcbiAgICAgICAgJi5idXR0b25Gb2N1c3NlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uRm9jdXNDb2xvci1kYXJrOyBcbiAgICAgICAgfVxuICAgIH1cbn0iLCIjZGFyay1zd2l0Y2gge1xuICAgIC5zd2l0Y2hTbGlkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvc2VuZGVycy9pbWFnZXMvYmctbGlnaHQtbW9kZS5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3NlbmRlcnMvaW1hZ2VzL2xpZ2h0LW1vZGUucG5nJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zd2l0Y2hPbiAuc3dpdGNoU2xpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3NlbmRlcnMvaW1hZ2VzL2JnLWRhcmstbW9kZS5wbmcnKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvc2VuZGVycy9pbWFnZXMvZGFyay1tb2RlLnBuZycpO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCJzZW5kZXJzLWxpc3RcIjtcbkBpbXBvcnQgXCJkYXJrLXN3aXRjaFwiO1xuXG4jYXBwIHtcbiAgI3NlbmRlcnMge1xuXG4gICAgI3NlbmRlcnMtdG9wIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG5cbiAgICAgICYgPiAubGlzdGl0ZW0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuXG4gICAgICAjc2VuZGVycy1kZXRlY3RlZCB7XG4gICAgICAgIG1pbi13aWR0aDogMzVlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB3aGl0ZS1zcGFjZTogd3JhcDtcbiAgICB9XG5cbiAgICAjbG9nby1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgcGFkZGluZy10b3A6IDFlbTtcblxuICAgICAgLnJlY2VpdmVyLWxvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDE2ZW07XG4gICAgICAgIGhlaWdodDogMTZlbTtcbiAgICAgIH1cblxuICAgICAgI2Rhcmstc3dpdGNoIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuN2VtO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAjc2Nhbm5pbmctbGlzdCwgI3NjYW5uaW5nLXN0b3BwZWQtbGlzdCwgI3NlbGVjdC1zZW5kZXIge1xuICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgfVxuXG4gICAgI3NjYW5uaW5nLWxpc3QsICNzY2FubmluZy1zdG9wcGVkLWxpc3Qge1xuICAgICAgLmxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNWVtO1xuICAgICAgfVxuXG4gICAgICAubGlzdGl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5zY2FubmluZyB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgIH1cblxuICAgICAgI3JlbW90ZSB7XG4gICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVlbTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvc2VuZGVycy9pbWFnZXMvcmVtb3RlLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgLnNjYW5uaW5nLCAjcmVtb3RlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNzY2FubmluZy1zdG9wcGVkLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjYXBwLXZlcnNpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGNvbG9yOiAjMTA1MDk4O1xuICAgICAgcGFkZGluZzogMC4yZW07XG4gICAgICBmb250LXNpemU6IDFlbTtcblxuICAgICAgICAjc2VjdXJlLWltZyBpbWcge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4zZW07XG4gICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICBmaWx0ZXI6IGludmVydCgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjb25uZWN0LW1hbnVhbGx5IHtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgIG1heC13aWR0aDogMjVlbTtcbiAgICB9XG5cbiAgICAjc2VsZWN0LXNlbmRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWF4LXdpZHRoOiAyMGVtO1xuICAgIH1cblxuICAgICYuc2VuZGVycy1hdmFpbGFibGUge1xuICAgICAgI3NlbGVjdC1zZW5kZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgfVxuXG4gICAgICAjc2Nhbm5pbmctbGlzdCwgI3NjYW5uaW5nLXN0b3BwZWQtbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgIG1heC13aWR0aDogNDBlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc2Nhbm5pbmctYWN0aXZlIHtcbiAgICAgICNzY2FubmluZy1saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICNzY2FubmluZy1zdG9wcGVkLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc2Nhbm5pbmctaW5hY3RpdmUge1xuICAgICAgI3NjYW5uaW5nLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAjc2Nhbm5pbmctc3RvcHBlZC1saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuLmRhcmsgI2FwcCAjc2VuZGVycyB7XG4gICNhcHAtdmVyc2lvbiB7XG4gICAgY29sb3I6ICM4MjgyODI7XG5cbiAgICAjc2VjdXJlLWltZyBpbWcge1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgIH1cbiAgfSBcblxuXG4gICNzY2FubmluZy1zdG9wcGVkLWxpc3Qge1xuICAgICNyZW1vdGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3NlbmRlcnMvaW1hZ2VzL3JlbW90ZS1kYXJrLnBuZycpO1xuICAgIH1cbiAgfVxufSIsIiRrZXlTaXplOiAyLjhlbTtcbiRmb250U2l6ZTogJGtleVNpemUgKiAoMi81KTtcbiRsaW5lSGVpZ2h0OiAka2V5U2l6ZSAqICgzLzUpO1xuXG4ja2V5Ym9hcmQge1xuICB3aWR0aDogJGtleVNpemUgKiAxMTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMWVtO1xuXG4gIC5yb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGtleVNpemU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIC5rZXlib2FyZEJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogJGtleVNpemU7XG4gICAgICBoZWlnaHQ6ICRrZXlTaXplO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRmb250U2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICAmLmtleURFTCB7XG4gICAgICAgIHdpZHRoOiAka2V5U2l6ZSAqIDEuMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BhY2VyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAka2V5U2l6ZTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAmI2tleWJvYXJkXzlfMSB7XG4gICAgICAgIHdpZHRoOiAka2V5U2l6ZS8yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNrZXlib2FyZF9yb3dfMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAka2V5U2l6ZS8yO1xuICB9XG59IiwiLmxvYWRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMjE5NkYzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyMTk2RjMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMTk2RjMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjRUVFRUVFICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkOCAxLjFzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBsb2FkOCAxLjFzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWQ4IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkOCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59IiwiQGltcG9ydCAnLi9rZXlib2FyZCc7XG5AaW1wb3J0ICcuL2xvYWRlcic7XG5cbiR3aWR0aDogMzJlbTtcbiRsb2dvU2l6ZTogNGVtO1xuXG4jY29ubmVjdCB7XG5cbiAgI3R1dG9yaWFsLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDIuNWVtO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gIH1cblxuICAjbG9nby1jb250YWluZXIge1xuICAgIGhlaWdodDogNGVtO1xuXG4gICAgI2J1c3ktY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA0ZW07XG4gICAgICBoZWlnaHQ6IDRlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5sb2FkaW5nICNidXN5LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgICNlcnJvciwgI3N1Y2Nlc3Mge1xuICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgIH1cbiAgICBcbiAgICAmLmVycm9yICNlcnJvciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJi5zdWNjZXNzICNzdWNjZXNzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICNlcnJvciB7XG4gICAgICBoZWlnaHQ6ICRsb2dvU2l6ZTtcbiAgICAgIHBhZGRpbmc6IDRweDtcblxuICAgICAgI2Vycm9yLW1lc3NhZ2Uge1xuICAgICAgICBoZWlnaHQ6ICRsb2dvU2l6ZSAqIDAuMjU7XG4gICAgICB9XG5cbiAgICAgICNlcnJvci1pbWcge1xuICAgICAgICBtYXJnaW4tbGVmdCA6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHBhZGRpbmc6ICgkbG9nb1NpemUgKiAwLjc1KSAqIDAuMTU7XG4gICAgICAgICAgd2lkdGg6ICgkbG9nb1NpemUgKiAwLjc1KSAtICgoKCRsb2dvU2l6ZSAqIDAuNzUpICogMC4xNSkgKiAyKTtcbiAgICAgICAgICBoZWlnaHQ6ICRsb2dvU2l6ZSAqIDAuNzUgLSAoKCgkbG9nb1NpemUgKiAwLjc1KSAqIDAuMTUpICogMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxvYWRpbmcsICYuZXJyb3IsICYuc3VjY2VzcyB7XG4gICAgICAucmVjZWl2ZXItbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAjZW50ZXItY29kZSB7XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1heC13aWR0aDogJHdpZHRoIC8gMjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAjY29ubmVjdC1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgfVxuXG4gICNhcHAtdmVyc2lvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbG9yOiAjMTA1MDk4O1xuICAgIHBhZGRpbmc6IDAuMmVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgI3NlY3VyZS1pbWcgaW1nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4zZW07XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgZmlsdGVyOiBpbnZlcnQoMSk7XG4gICAgfVxuICB9XG59XG5cbi5kYXJrICNhcHAgI2Nvbm5lY3Qge1xuICAjYXBwLXZlcnNpb24ge1xuICAgIGNvbG9yOiAjODI4MjgyO1xuXG4gICAgICNzZWN1cmUtaW1nIGltZyB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgIH1cbiAgfSBcbn0iLCIjdHV0b3JpYWwge1xuICAgICNsb2FkaW5nLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogODB2aDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxuICAgICAgICB6LWluZGV4OiAxMDAwMDtcbiAgICB9XG5cbiAgICAjeW91dHViZS12aWRlby1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiA4NXZoO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICNhY3Rpb24tY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxNXZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDV2aDtcblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMS41dnc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXZ3O1xuICAgICAgICAgICAgd2lkdGg6IDl2aDtcbiAgICAgICAgICAgIGhlaWdodDogOXZoO1xuXG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1dmg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXZoO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAydmg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI2hlbHAge1xuXG4gICNoZWxwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgI2dvLWJhY2sge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICNzY3JlZW5zaG90LWNvbnRhaW5lciAuY29udGFpbmVyLmltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgJiNwaG9uZS1jb2RlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOGVtO1xuICAgICAgfVxuICB9XG5cbiAgI2Nvbm5lY3QtY2lyY2xlZF9pbWd7XG4gICAgd2lkdGg6IDI1ZW07XG4gICAgaGVpZ2h0OiA1LjJlbTtcbiAgfVxuXG4gICNjYXN0LXRvLXNtYXJ0LXR2X2ltZyB7XG4gICAgd2lkdGg6IDEzZW07XG4gICAgaGVpZ2h0OiAxMWVtO1xuICB9XG5cbiAgI3Bob25lLWNvZGVfaW1nIHtcbiAgICAgIHdpZHRoOiA2LjJlbTtcbiAgICAgIGhlaWdodDogMTFlbTtcbiAgfVxuXG4gICNlbnRlci1jb2RlX2ltZyB7XG4gICAgICB3aWR0aDogMTZlbTtcbiAgICAgIGhlaWdodDogMTFlbTtcbiAgfVxuXG4gICN0b3AtcGFuZWwge1xuICAgIGJvcmRlci1ib3R0b206IGdyZXk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgI3RvcC1sZWZ0LXBhbmVsLCAjYm90dG9tLWxlZnQtcGFuZWwge1xuICAgIGJvcmRlci1yaWdodDogZ3JleTtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgI3RvcC1wYW5lbCwgI2JvdHRvbS1wYW5lbCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgaGVpZ2h0OiAxN2VtO1xuICB9XG5cbiAgI3RvcC1wYW5lbCA+IC5jb250YWluZXIsIFxuICAjYm90dG9tLXBhbmVsID4gLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgaGVpZ2h0OiAxN2VtO1xuXG4gICAgPiAubGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNGVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICAgICAgICYjYW5kcm9pZC1sYWJlbCwgJiNpb3MtbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjdG9wLWxlZnQtdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAjYm90dG9tLWxlZnQtdGl0bGUsICNib3R0b20tcmlnaHQtdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDAuNGVtO1xuICB9XG5cbiAgI2FwcC1pbmZvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMmVtO1xuICAgIG1hcmdpbi1yaWdodDogMS4yZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgID4gLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgI2FwcC1sb2dvIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgICAjYXBwLWxvZ29faW1nIHtcbiAgICAgICAgd2lkdGg6IDUuMWVtO1xuICAgICAgICBoZWlnaHQ6IDUuMWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICNhcHAtbmFtZSwgI29yLXZpc2l0IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgIH1cblxuICAgICN1cmwge1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgfVxuXG4gICNhbmRyb2lkLWNvbnRhaW5lciwgI2lvcy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG59IiwiI2Nvbm5lY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGNvbXBvbmVudHMvY29ubmVjdGVkL3NwbGFzaC1oZC5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICAjYmFjay1idXR0b24ge1xuICAgIG1hcmdpbjogMmVtO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTtcbiAgICBcbiAgICAmLmJ1dHRvbkZvY3Vzc2VkIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgI21lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgfVxufSIsIiNhcHAgLmJ1dHRvbi5ob3Jpem9udGFsc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTAlO1xuICBoZWlnaHQ6IDAuNWVtO1xuICBhbmltYXRpb246IHNsaWRlci1mb2N1cy1vZmYgMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiB3ZWJraXQtc2xpZGVyLWZvY3VzLW9mZiAxcztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcblxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAuMmVtICNGRkY7XG4gICAgYW5pbWF0aW9uOiBzbGlkZXItZm9jdXMtb24gMXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHdlYmtpdC1zbGlkZXItZm9jdXMtb24gMXM7XG4gIH1cblxuICAuc2NydWJiYXJidWZmZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIH1cblxuICAuaG9yaXpvbnRhbHNsaWRlcmxlZnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIH1cblxuICAuaG9yaXpvbnRhbHNsaWRlcmhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtMC44ZW07XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICB9XG5cbiAgQGtleWZyYW1lcyBzbGlkZXItZm9jdXMtb2ZmIHtcbiAgICAwJSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAuMmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDFlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgc2xpZGVyLWZvY3VzLW9uIHtcbiAgICAwJSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAuMmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgfVxuICB9XG4gIEAtd2Via2l0LWtleWZyYW1lcyB3ZWJraXQtc2xpZGVyLWZvY3VzLW9mZiB7XG4gICAgMCUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDFlbSAwLjJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIH1cbiAgfVxuICBALXdlYmtpdC1rZXlmcmFtZXMgd2Via2l0LXNsaWRlci1mb2N1cy1vbiB7XG4gICAgMCUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDFlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDFlbSAwLjJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIH1cbiAgfVxufSIsIi5jb250cm9scy1hY3RpdmUge1xuICAjc3VidGl0bGVzLWNvbnRhaW5lciB7XG4gICAgYm90dG9tOiAxMS41ZW07XG4gIH1cbn1cblxuI3N1YnRpdGxlcy1jb250YWluZXIge1xuICBib3R0b206IDAuNWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuXG4gICYuc3ViLWxpbmUtMCB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMDtcbiAgfVxuXG4gICYuc3ViLWxpbmUtMTAge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuc3ViLWxpbmUtMjAge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDIwJTtcbiAgfVxuXG4gICYuc3ViLWxpbmUtMzAge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDMwJTtcbiAgfVxuXG4gICYuc3ViLWxpbmUtNDAge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDQwJTtcbiAgfVxuXG4gICYuc3ViLWxpbmUtNTAge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgfVxuXG4gICYuc3ViLWxpbmUtNjAge1xuICAgIGJvdHRvbTogNDAlO1xuICB9XG5cbiAgJi5zdWItbGluZS03MCB7XG4gICAgYm90dG9tOiAzMCU7XG4gIH1cblxuICAmLnN1Yi1saW5lLTgwIHtcbiAgICBib3R0b206IDIwJTtcbiAgfVxuXG4gICYuc3ViLWxpbmUtOTAge1xuICAgIGJvdHRvbTogMTAlO1xuICB9XG5cbiAgJi5zdWItbGluZS0xMDAge1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gICYuc3ViLXBvc2l0aW9uLTAge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLnN1Yi1wb3NpdGlvbi0xMCB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi0yMCB7XG4gICAgbGVmdDogMjAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi0zMCB7XG4gICAgbGVmdDogMzAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi00MCB7XG4gICAgbGVmdDogNDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi01MCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuICBcbiAgJi5zdWItcG9zaXRpb24tNjAge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDQwJTtcbiAgfVxuICBcbiAgJi5zdWItcG9zaXRpb24tNzAge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDMwJTtcbiAgfVxuICBcbiAgJi5zdWItcG9zaXRpb24tODAge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDIwJTtcbiAgfVxuICBcbiAgJi5zdWItcG9zaXRpb24tOTAge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxuICBcbiAgJi5zdWItcG9zaXRpb24tMTAwIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgI3N1YnRpdGxlcyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjdlbTtcbiAgICBmb250LXNpemU6IDEuOGVtO1xuXG4gICAgJi5zdWJ0aXRsZXMtZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG59IiwiQGltcG9ydCAnLi9zY3J1Yi1iYXInO1xuQGltcG9ydCAnLi9zdWJ0aXRsZXMnO1xuXG4vKlxuI2FwcC5yb290d2lkZ2V0LnZpZGVvLXBsYXllciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgI21haW4ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuKi9cblxuI2FwcC52aWRlby1wbGF5ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbiNtZWRpYVBsYXllclZpZGVvIHtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuI3ZpZGVvLXBsYXllciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICNhdWRpby1pbWFnZV9pbWcge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgI2J1ZmZlcmluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDIuNWVtO1xuICAgIGJvdHRvbTogMmVtO1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAuMmVtICMwMDA7XG4gICAgfVxuICB9XG5cbiAgI2NvbnRyb2wtc3RhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsMCwwLC41KSAzNSUsIHJnYmEoMCwwLDAsMSkpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgcGFkZGluZy10b3A6IDJlbTtcblxuICAgICNzY3J1Yi1jb250YWluZXIge1xuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNhY3Rpb24tY29udGFpbmVyIHtcblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG5cbiAgICAgICAgJi5idXR0b25EaXNhYmxlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAzZW07XG4gICAgICAgICAgaGVpZ2h0OiAzZW07XG4gICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3NjcnViLWJhciwgI3NjcnViLWJhcl9idWZmZXIsICNzY3J1Yi1iYXJfbGVmdCwgI3NjcnViLWJhcl9zbGlkZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59IiwiI2ltYWdlLXBsYXllciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgI21haW4taW1hZ2VfaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICNsb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMi41ZW07XG4gICAgYm90dG9tOiAyZW07XG4gICAgei1pbmRleDogMTAwMDtcblxuICAgICYgPiBkaXYge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDFlbSAwLjJlbSAjMDAwO1xuICAgIH1cbiAgfVxuXG4gICNiYWNrLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAgIFxuICAjYWN0aW9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgLjUpIDM1JSwgcmdiYSgwLCAwLCAwLCAxKSk7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgIFxuICAgIC5idXR0b24ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcblxuICAgICAgJi5idXR0b25EaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjMyMztcbiAgICAgIH1cbiAgICBcbiAgICAgIC5pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogM2VtO1xuICAgICAgICBoZWlnaHQ6IDNlbTtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIHNyYzogdXJsKFwid2ViLWZvbnRzL3JvYm90b19tZWRpdW0vUm9ib3RvLU1lZGl1bS13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX21lZGl1bS9Sb2JvdG8tTWVkaXVtLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19tZWRpdW0vUm9ib3RvLU1lZGl1bS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX21lZGl1bS9Sb2JvdG8tTWVkaXVtLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX21lZGl1bS9Sb2JvdG8tTWVkaXVtLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX21lZGl1bS9Sb2JvdG8tTWVkaXVtLXdlYmZvbnQuc3ZnI3JvYm90b2JvbGRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyBcbn1cblxuLypcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIHNyYzogdXJsKFwid2ViLWZvbnRzL3JvYm90b19ib2xkaXRhbGljL1JvYm90by1Cb2xkSXRhbGljLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIndlYi1mb250cy9yb2JvdG9fYm9sZGl0YWxpYy9Sb2JvdG8tQm9sZEl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fYm9sZGl0YWxpYy9Sb2JvdG8tQm9sZEl0YWxpYy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2JvbGRpdGFsaWMvUm9ib3RvLUJvbGRJdGFsaWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fYm9sZGl0YWxpYy9Sb2JvdG8tQm9sZEl0YWxpYy13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19ib2xkaXRhbGljL1JvYm90by1Cb2xkSXRhbGljLXdlYmZvbnQuc3ZnI3JvYm90b2JvbGRfaXRhbGljXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYywgb2JsaXF1ZTsgXG59XG4qL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICBzcmM6IHVybChcIndlYi1mb250cy9yb2JvdG9fbGlnaHRpdGFsaWMvUm9ib3RvLUxpZ2h0SXRhbGljLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIndlYi1mb250cy9yb2JvdG9fbGlnaHRpdGFsaWMvUm9ib3RvLUxpZ2h0SXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodGl0YWxpYy9Sb2JvdG8tTGlnaHRJdGFsaWMtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodGl0YWxpYy9Sb2JvdG8tTGlnaHRJdGFsaWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fbGlnaHRpdGFsaWMvUm9ib3RvLUxpZ2h0SXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2xpZ2h0aXRhbGljL1JvYm90by1MaWdodEl0YWxpYy13ZWJmb250LnN2ZyNyb2JvdG9saWdodGl0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYywgb2JsaXF1ZTsgXG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIHNyYzogdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodC9Sb2JvdG8tTGlnaHQtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodC9Sb2JvdG8tTGlnaHQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2xpZ2h0L1JvYm90by1MaWdodC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2xpZ2h0L1JvYm90by1MaWdodC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodC9Sb2JvdG8tTGlnaHQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fbGlnaHQvUm9ib3RvLUxpZ2h0LXdlYmZvbnQuc3ZnI3JvYm90b2xpZ2h0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyBcbn0iLCIuY2Fyb3VzZWxtYXNrIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmNhcm91c2Vsd2lkZ2V0c3RyaXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJi52ZXJ0aWNhbD4uY2Fyb3VzZWxJdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ob3Jpem9udGFsPi5jYXJvdXNlbEl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLm92ZXJmbG93LWxlZnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuMyksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYub3ZlcmZsb3ctcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMTI4LCAxMjgsIDEyOCwgMC4zKSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAjY2Fyb3VzZWxDb21wb25lbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJiA+IC5jYXJvdXNlbG1hc2sge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY2Fyb3VzZWxDb21wb25lbnRcblxuICAgICNjYXJvdXNlbENvbXBvbmVudD4uZGVzY3JpcHRpb24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbHdpZGdldHN0cmlwPi5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWx3aWRnZXRzdHJpcC52ZXJ0aWNhbD4uYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gICAgKi9cbn0iLCJAaW1wb3J0IFwiY29sb3JzXCI7XG5cbiRjYXJkQmFja2dyb3VuZENvbG9yOiAkd3ZjV2hpdGU7XG4kY2FyZEJhY2tncm91bmRDb2xvci1kYXJrOiAkd3ZjQmxhY2s7XG5cbiRjYXJkU2hhZG93OiAkc2hhZG93Q29sb3I7XG5cbi5jYXJkLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRDb2xvcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogMC40cztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XG5cbiAgICAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNzBlbTtcbiAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMC4yNWVtIDEuMTZlbSAkY2FyZFNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4xN2VtO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcblxuICAgICAgICBtYXJnaW46IDEuNWVtO1xuICAgICAgICBwYWRkaW5nOiAyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiA2MGVtO1xuICAgIH1cbn1cblxuLmRhcmsgLmNhcmQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZEJhY2tncm91bmRDb2xvci1kYXJrO1xuXG4gICAgLmNhcmQge1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvci1kYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZEJhY2tncm91bmRDb2xvci1kYXJrO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbn0iLCJAaW1wb3J0IFwiY29sb3JzXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuXG4kYnV0dG9uVGV4dENvbG9yOiAkd3ZjQWxtb3N0V2hpdGU7XG5cbiRidXR0b25Gb2N1c2VkOiAkd3ZjWWVsbG93O1xuJGJ1dHRvbkZvY3VzZWQtZGFyazogJHd2Y1llbGxvdy1kYXJrO1xuJGJ1dHRvblVuZm9jdXNlZDogJHd2Y0JsdWU7XG4kYnV0dG9uVW5mb2N1c2VkLWRhcms6ICR3dmNCbHVlLWRhcms7XG5cbiRsaW5rVGV4dEZvY3VzZWQ6ICRidXR0b25UZXh0Q29sb3I7XG4kbGlua1RleHRGb2N1c2VkLWRhcms6ICRidXR0b25UZXh0Q29sb3I7XG4kbGlua0ZvY3VzZWQ6ICRidXR0b25Gb2N1c2VkO1xuJGxpbmtGb2N1c2VkLWRhcms6ICRidXR0b25Gb2N1c2VkLWRhcms7XG4kbGlua1RleHRVbmZvY3VzZWQ6ICR0ZXh0Q29sb3I7XG4kbGlua1RleHRVbmZvY3VzZWQtZGFyazogJHRleHRDb2xvci1kYXJrO1xuJGxpbmtVbmZvY3VzZWQ6ICRjYXJkQmFja2dyb3VuZENvbG9yO1xuJGxpbmtVbmZvY3VzZWQtZGFyazogJGNhcmRCYWNrZ3JvdW5kQ29sb3ItZGFyaztcblxuLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvblVuZm9jdXNlZDtcbiAgICBib3gtc2hhZG93OiAwcHggMC4yNWVtIDAuNThlbSAkc2hhZG93Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xN2VtO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogNTBlbTtcbiAgICBtYXJnaW46IDAgYXV0byAxZW0gYXV0bztcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgPmRpdiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgPmltZyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRidXR0b25UZXh0Q29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgcGFkZGluZzogMC41ZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XG4gICAgfVxuXG4gICAgJi5saW5rQnV0dG9uIHtcbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lXG4gICAgICAgIH1cblxuICAgICAgICAmLmJ1dHRvbkZvY3Vzc2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rRm9jdXNlZDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmtUZXh0Rm9jdXNlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYnV0dG9uQmx1cnJlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlua1VuZm9jdXNlZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlua1RleHRVbmZvY3VzZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idXR0b25Gb2N1c3NlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkZvY3VzZWQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uYnV0dG9uQmx1cnJlZCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLmJ1dHRvbkZvY3Vzc2VkLm1lbnVlbmRwb2ludCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkZvY3VzZWQ7XG59XG5cbi5kYXJrIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25VbmZvY3VzZWQtZGFyaztcbiAgICBib3gtc2hhZG93OiAwcHggMC4yNWVtIDAuNThlbSAkc2hhZG93Q29sb3ItZGFyaztcblxuICAgICYubGlua0J1dHRvbiB7XG4gICAgICAgICYuYnV0dG9uRm9jdXNzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmtGb2N1c2VkLWRhcms7XG5cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rVGV4dEZvY3VzZWQtZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmJ1dHRvbkJsdXJyZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmtVbmZvY3VzZWQtZGFyaztcblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmtUZXh0VW5mb2N1c2VkLWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ1dHRvbkZvY3Vzc2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkZvY3VzZWQtZGFyaztcbiAgICB9XG59IiwiQGltcG9ydCBcImxvYWRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbXBvbmVudHNcIjtcbkBpbXBvcnQgXCJ3ZWItZm9udHMvd2ViLWZvbnRzXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJidXR0b25cIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiY29sb3JzXCI7XG5cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kQ29sb3I7XG4gIHRyYW5zaXRpb246IDAuNHM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcblxuICAmLmRhcmsge1xuICAgIGNvbG9yOiAkdGV4dENvbG9yLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRDb2xvci1kYXJrO1xuICB9XG59XG5cbiNhbmFseXRpY3MtZnJhbWUge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMDtcbn1cblxuI2xvZy1ib3gge1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDA7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBtaW4taGVpZ2h0OiAyNSU7XG4gIG1heC1oZWlnaHQ6IDc1JTtcbiAgZm9udC1zaXplOiAxNHB0O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubG9nLWRlYnVnIHtcbiAgICBjb2xvcjogI2MxYzdjNztcbiAgfVxuICAubG9nLWluZm8ge1xuICAgIGNvbG9yOiAjODBhN2MxO1xuICB9XG4gIC5sb2ctd2FybiB7XG4gICAgY29sb3I6ICNiY2MyM2E7XG4gIH1cbiAgLmxvZy1lcnJvciB7XG4gICAgY29sb3I6ICR3dmNSZWRcbiAgfVxufVxuXG4jYXBwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIG9iamVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG5cbi8qIExpc3Qgd2lkZ2V0cyAqL1xuLmhvcml6b250YWxsaXN0LFxuLnZlcnRpY2FsbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhvcml6b250YWxsaXN0IC5saXN0aXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyogbmVzdGVkIGxpc3RzIC0gdXNlICNJRHMgaW5zdGVhZCBmb3IgbW9yZSBjb21wbGV4IGxheW91dHMgKi9cbi52ZXJ0aWNhbGxpc3QgLmhvcml6b250YWxsaXN0IC5saXN0aXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnZlcnRpY2FsbGlzdCAubGlzdGl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBuZXN0ZWQgbGlzdHMgLSB1c2UgI0lEcyBpbnN0ZWFkIGZvciBtb3JlIGNvbXBsZXggbGF5b3V0cyAqL1xuLmhvcml6b250YWxsaXN0IC52ZXJ0aWNhbGxpc3QgLmxpc3RpdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIEhvcml6b250YWwgY2Fyb3VzZWwgd2lkZ2V0cyAqL1xuLyogdGhlIG1hc2sgaXMgdGhlIHRvcCBsZXZlbCBvZiB0aGUgY2Fyb3VzZWwgYW5kIGRlZmluZXMgd2hlcmUgaXQgaXMgZGlzcGxheWVkIGFuZCBob3cgbXVjaCBpcyB2aXNpYmxlICovXG4uaG9yaXpvbnRhbGxpc3RtYXNrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIGVuc3VyZSBuZXN0ZWQgY2Fyb3VzZWxzIGhhdmUgY29ycmVjdCBmb3JtYXR0aW5nLCB5b3UgbWF5IG5lZWQgdG8gdGFyZ2V0IElEcyBpbiBjb21wbGV4IGxheW91dHMgKi9cbi5ob3Jpem9udGFsbGlzdG1hc2sgLmhvcml6b250YWxsaXN0IC5saXN0aXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmhvcml6b250YWxjYXJvdXNlbCB7XG4gIHdpZHRoOiA5OTk5OXB4O1xuICAvKiBuZWVkcyB0byBiZSBiaWcgZW5vdWdoIHNvIGNhcm91c2VsIHBsdXMgY2xvbmVzIGRvIG5vdCBmbG93IG9udG8gbW9yZSB0aGVuIG9uZSBsaW5lICovXG59XG5cbi8qIERFVklDRSBTUEVDSUZJQyBERUZBVUxUUyBFWEFNUExFIC0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBpZiB5b3UgdGFyZ2V0IHNvbWUgY29uc29sZXMgeW91IG1heSBuZWVkIHRvIGFkZCBhZGRpdGlvbmFsIHN0eWxlcyBsaWtlIHRoaXMgKi9cbi5zb21lQ29uc29sZXMgLmhvcml6b250YWxsaXN0IC5saXN0aXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qIFNBTVBMRUFQUCBCQVNFIFNUWUxFUyAqL1xuXG4vKiBDb3JlICovXG5cbi8qIE1hcGxlIG5lZWRzIGluaXRpYWwgZWxlbWVudCBiYWNrZ3JvdW5kIGluIGJhc2Ugc3R5bGVzaGVldC4uLiBub3QgaW4gZHluYW1pY2FsbHkgbG9hZGVkIHN0eWxlcyEgKi9cbi8qXG4uc2Ftc3VuZy5sYXlvdXQ1NDBwICNhcHAge1xuICAgIHdpZHRoOiA5NjBweDtcbiAgICBoZWlnaHQ6IDU0MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmJjX2JhY2tncm91bmRfNTQwLnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG5cbi5zYW1zdW5nLmxheW91dDcyMHAgI2FwcCB7XG4gICAgd2lkdGg6IDEyODBweDtcbiAgICBoZWlnaHQ6IDcyMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmJjX2JhY2tncm91bmRfNzIwLnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnNhbXN1bmcubGF5b3V0MTA4MHAgI2FwcCB7XG4gICAgd2lkdGg6IDE5MjBweDtcbiAgICBoZWlnaHQ6IDEwODBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JiY19iYWNrZ3JvdW5kXzEwODAucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuKi9cblxuLyogU2FtcGxlIGFwcCBzcGVjaWZpYyBzdHlsZXMgKi9cbiN0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTUwJTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMiUgYXV0byAwIGF1dG87XG59XG5cbi5iYWNrZ3JvdW5kLW5vbmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5kZXNjcmlwdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogOHB4IDBweDtcbn1cblxuI3Rlc3RQbGF5ZXIge1xuICB6LWluZGV4OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMjgwcHg7XG4gIGhlaWdodDogNzIwcHg7XG59XG5cbiNwbGF5ZXJCdXR0b25zIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDhweDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbiNwbGF5ZXJCdXR0b25zIC5idXR0b24ge1xuICB3aWR0aDogNzVweDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDVweDtcbn1cblxuLyogRGlzcGxheSAmIFZpc2liaWxpdHkgSGVscGVycyAqL1xuLmRpc3BsYXktbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnZpc2liaWxpdHktaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbiNwcm9ncmVzc0JhciB7XG4gIG1hcmdpbi10b3A6IDEwJTtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgbWluLWhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogIzA3MDtcbn1cblxuI3Byb2dyZXNzQmFyX2xlZnQge1xuICBtaW4taGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjNzAwO1xufVxuXG4jcHJvZ3Jlc3NCYXJfaW5uZXIge1xuICB3aWR0aDogMTBweDtcbiAgbWluLWhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogIzc3NztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufSJdLCJmaWxlIjoid3ZjL2FwcC5jc3MifQ== */
