@font-face {
  font-family: "IstokWeb-Bold";
  src: url("../fonts/IstokWeb-Bold.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/IstokWeb-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/IstokWeb-Bold.otf") format("opentype"), url("../fonts/IstokWeb-Bold.svg") format("svg"), url("../fonts/IstokWeb-Bold.ttf") format("truetype"), url("../fonts/IstokWeb-Bold.woff") format("woff"), url("../fonts/IstokWeb-Bold.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "IstokWeb-BoldItalic";
  src: url("../fonts/IstokWeb-BoldItalic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/IstokWeb-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/IstokWeb-BoldItalic.otf") format("opentype"), url("../fonts/IstokWeb-BoldItalic.svg") format("svg"), url("../fonts/IstokWeb-BoldItalic.ttf") format("truetype"), url("../fonts/IstokWeb-BoldItalic.woff") format("woff"), url("../fonts/IstokWeb-BoldItalic.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "IstokWeb-Italic";
  src: url("../fonts/IstokWeb-Italic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/IstokWeb-Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/IstokWeb-Italic.otf") format("opentype"), url("../fonts/IstokWeb-Italic.svg") format("svg"), url("../fonts/IstokWeb-Italic.ttf") format("truetype"), url("../fonts/IstokWeb-Italic.woff") format("woff"), url("../fonts/IstokWeb-Italic.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "IstokWeb-Regular";
  src: url("../fonts/IstokWeb-Regular.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/IstokWeb-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/IstokWeb-Regular.otf") format("opentype"), url("../fonts/IstokWeb-Regular.svg") format("svg"), url("../fonts/IstokWeb-Regular.ttf") format("truetype"), url("../fonts/IstokWeb-Regular.woff") format("woff"), url("../fonts/IstokWeb-Regular.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(MaterialIcons-Regular.eot);
  /* For IE6-8 */
  src: local("Material Icons"), local("MaterialIcons-Regular"), url(../fonts/MaterialIcons-Regular.woff2) format("woff2"), url(../fonts/MaterialIcons-Regular.woff) format("woff"), url(../fonts/MaterialIcons-Regular.ttf) format("truetype"); }

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga'; }

body {
  background-color: #ffffff;
  font-family: "IstokWeb-Regular";
  color: #00588A; }

a {
  color: #00588A; }

#Start {
  height: 120px; }

h2 {
  font-size: 18px; }

h3 {
  font-size: 20px;
  color: #00AEEF;
  font-family: "IstokWeb-Bold"; }

h4 {
  font-family: "IstokWeb-Bold";
  color: #00588A;
  font-size: 18px;
  margin-bottom: 0; }

p, ul {
  font-size: 1.1em;
  line-height: 1.7em; }

.title h2 {
  color: #00588A;
  overflow: hidden;
  font-family: "IstokWeb-Bold";
  margin-bottom: 0; }
  .title h2:after {
    content: "";
    display: inline-block;
    border-bottom: 2px solid #00AEEF;
    width: 100%;
    height: 100%;
    margin-left: 5px;
    margin-right: -100%;
    margin-bottom: 0; }

span.dot:before {
  content: "\0025D7";
  color: #00AEEF;
  padding-right: 0; }

@media (min-width: 992px) {
  .title h2 {
    font-size: 24px; } }

@media (max-width: 1199.98px) {
  .title h2 {
    font-size: 18px; } }

@media (max-width: 991.98px) {
  .title h2 {
    overflow: visible;
    font-size: 1.5em;
    margin-bottom: 5px; }
    .title h2:after {
      display: none; }
    .title h2:before {
      content: '';
      width: 20px;
      height: 20px;
      background-color: #00588A;
      display: inline-block;
      margin-left: -15px;
      margin-right: 10px; }
  .content-col {
    padding-left: 32px; } }

@media (max-width: 767.98px) {
  .title h2 {
    font-size: 1.2em; }
    .title h2:before {
      content: '';
      width: 16px;
      height: 16px;
      margin-left: -15px;
      margin-right: 14px; } }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #ffffff;
  opacity: 0.9; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

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

.mfp-close {
  width: 64px;
  height: 64px;
  line-height: 64px;
  position: fixed;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before, .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

#navbar {
  background-color: #E1F0FB;
  font-weight: bold;
  padding-left: 0;
  -webkit-box-shadow: 0px -1px 17px 0px #999999;
  -moz-box-shadow: 0px -1px 17px 0px #999999;
  box-shadow: 0px -1px 17px 0px #999999; }
  #navbar a {
    color: #00588A;
    font-size: 1.4em; }
    #navbar a:hover, #navbar a.active {
      color: #00AEEF; }
    #navbar a:first-child {
      padding-left: 0; }
  #navbar .navbar-toggler {
    z-index: 10; }
    #navbar .navbar-toggler .navbar-toggler-icon {
      background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 86, 137, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  #navbar .navbar-brand {
    font-size: 21pt;
    line-height: 1.3em;
    color: #00AEEF;
    padding-top: 15px; }
  #navbar #logo {
    max-height: 200px;
    position: absolute;
    bottom: -110px;
    z-index: 9; }
  #navbar li.nav-item {
    padding-right: 20px; }
  #navbar #navbarCollapse .navbar-nav {
    padding-left: 15px; }
  #navbar .nav-desktop {
    padding-left: 5px; }

@media (min-width: 992px) {
  #navbar #navbarCollapse {
    display: none !important; }
  #navbar li.nav-item {
    padding-right: 1.8vw; } }

@media (max-width: 1199.98px) {
  #navbar li.nav-item {
    padding-right: 1vw; }
  #navbar a {
    font-size: 1.2em; } }

@media (max-width: 991.98px) {
  #navbar {
    margin-bottom: -30px; }
    #navbar #logo {
      bottom: -70px;
      max-height: 150px;
      right: 10px; }
    #navbar .navbar-brand {
      font-size: 24px; }
  #topinfo {
    margin-top: -40px; } }

@media (max-width: 767.98px) {
  #navbar #logo {
    bottom: -30px;
    max-height: 90px;
    right: 10px; }
  #navbar .navbar-brand {
    font-size: 18px; } }

.content ul {
  list-style-type: none;
  margin: 0 0 15px 0;
  padding: 0; }
  .content ul li {
    list-style-type: none;
    margin: 0;
    margin-left: 17px;
    padding-left: 10px; }
    .content ul li:before {
      content: "\0025D7";
      color: #00AEEF;
      margin-left: -27px;
      padding-right: 10px; }

#thanks {
  background-color: #E6E7E8;
  padding: 30px 0;
  margin-top: 30px; }
  #thanks span.big {
    font-size: 21pt;
    font-weight: bold;
    color: #00588A; }

@media (max-width: 991.98px) {
  #thanks {
    padding: 15px 0; }
    #thanks span.big {
      font-size: 18px; } }

@media (max-width: 767.98px) {
  #thanks {
    padding: 15px 0; }
    #thanks span.big {
      font-size: 18px; } }

#topinfo .cite-wrap {
  color: #fff; }
  #topinfo .cite-wrap .inner-wrap {
    background-color: #00AEEF; }
  #topinfo .cite-wrap cite {
    display: block;
    text-align: right;
    padding-top: 13%;
    padding-bottom: 13%;
    padding-right: 30px;
    font-size: 1.5vw; }

#sidebar {
  position: absolute;
  right: 0;
  margin-top: 100px;
  z-index: 1000; }
  #sidebar .opener .opener-title {
    font-weight: bold;
    font-size: 1.2em; }
  #sidebar .info {
    margin-top: 10px; }
  #sidebar a {
    color: #fff;
    text-decoration: underline; }
  #sidebar hr {
    height: 2px;
    border: 0;
    background-color: #fff; }
  #sidebar #notruf {
    background-color: #cd1719;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    border-top-left-radius: 10px;
    padding: 10px 30px;
    margin-bottom: 10px; }
  #sidebar #sideinfo {
    background-color: #00AEEF;
    color: #fff;
    padding: 10px 30px;
    border-bottom-left-radius: 10px; }

@media (max-width: 991.98px) {
  #sidebar {
    max-width: 150px;
    text-align: center;
    top: 30px; }
    #sidebar .info {
      display: none; }
    #sidebar .opener {
      font-size: .9em;
      margin-bottom: 0; }
      #sidebar .opener:hover .info {
        display: block; }
    #sidebar #notruf, #sidebar #sideinfo {
      padding: 10px 20px;
      font-size: .9em; } }

#News {
  margin-bottom: 30px; }
  #News div.title {
    padding-top: 15px; }
  #News .row .row {
    background-color: #E6E7E8; }

#News h2, #Praxis h2 {
  color: #00AEEF; }
  #News h2:before, #Praxis h2:before {
    background-color: #00AEEF; }

#Praxis {
  margin-top: 30px; }
  #Praxis .line {
    margin-top: 3px;
    height: 18px;
    background-color: #00AEEF; }

#Sprechstunde, #Leistungen, #Team, #Kontakt {
  margin-top: 30px; }
  #Sprechstunde .title, #Leistungen .title, #Team .title, #Kontakt .title {
    margin-top: -3px; }
  #Sprechstunde .line, #Leistungen .line, #Team .line, #Kontakt .line {
    height: 18px;
    background-color: #00588A; }

#Sprechstunde, #Termine, #Rezept, #Leistungen, #Kontakt {
  background-color: #E1F0FB; }

#Termine, #Rezept {
  padding: 20px 0; }

#Anfahrt, #Team {
  margin-top: 30px; }

#Team .title {
  margin-bottom: 30px; }

#Team h3 {
  margin-top: 20px; }

#Diashow {
  margin-top: 30px; }

#carousel .carousel-indicators li {
  width: 20px;
  height: 20px;
  border-radius: 10px;
  border: 1px solid #eee;
  margin-right: 10px; }
  #carousel .carousel-indicators li.active {
    background-color: #00AEEF;
    border-color: #00AEEF;
    opacity: 1; }

@media (max-width: 575.98px) {
  #carousel .carousel-indicators li {
    width: 10px;
    height: 10px;
    margin-right: 5px; } }

#Team .teaminfo {
  position: relative;
  display: inline-block; }
  #Team .teaminfo:after {
    content: ' ';
    width: 40px;
    height: 40px;
    border-radius: 20px;
    background-color: #fff;
    z-index: 10;
    position: absolute;
    left: calc(50% - 20px);
    bottom: -20px; }
  #Team .teaminfo.collapsed {
    border-bottom: 0px; }
    #Team .teaminfo.collapsed:after {
      display: none; }

.h-500 {
  height: 600px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiaW5jbHVkZXMvX2Z1bmN0aW9ucy5zY3NzIiwibWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiaW5jbHVkZXMvX2ZvbnRzLnNjc3MiLCJpbmNsdWRlcy9fdmFyaWFibGVzLnNjc3MiLCJpbmNsdWRlcy9fZGVmYXVsdHMuc2NzcyIsImluY2x1ZGVzL19zZXR0aW5ncy5zY3NzIiwiaW5jbHVkZXMvX21hZ25pZmljcG9wdXAuc2NzcyIsImVsZW1lbnRzL19uYXZiYXIuc2NzcyIsImVsZW1lbnRzL19saXN0cy5zY3NzIiwiZWxlbWVudHMvX3RoYW5rcy5zY3NzIiwiZWxlbWVudHMvX3RvcGluZm8uc2NzcyIsImVsZW1lbnRzL19zaWRlYmFyLnNjc3MiLCJlbGVtZW50cy9fbmV3cy5zY3NzIiwiZWxlbWVudHMvX3NlY3Rpb25zLnNjc3MiLCJlbGVtZW50cy9fc2xpZGVyLnNjc3MiLCJlbGVtZW50cy9fdGVhbS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJpbmNsdWRlcy9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xyXG5cclxuQGltcG9ydCBcImluY2x1ZGVzL2ZvbnRzXCI7XHJcbkBpbXBvcnQgXCJpbmNsdWRlcy92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcImluY2x1ZGVzL2RlZmF1bHRzXCI7XHJcbkBpbXBvcnQgXCJpbmNsdWRlcy9zZXR0aW5nc1wiO1xyXG5AaW1wb3J0IFwiaW5jbHVkZXMvbWFnbmlmaWNwb3B1cFwiO1xyXG5cclxuQGltcG9ydCBcImVsZW1lbnRzL25hdmJhclwiO1xyXG5AaW1wb3J0IFwiZWxlbWVudHMvbGlzdHNcIjtcclxuQGltcG9ydCBcImVsZW1lbnRzL3RoYW5rc1wiO1xyXG5AaW1wb3J0IFwiZWxlbWVudHMvdG9waW5mb1wiO1xyXG5AaW1wb3J0IFwiZWxlbWVudHMvc2lkZWJhclwiO1xyXG5AaW1wb3J0IFwiZWxlbWVudHMvbmV3c1wiO1xyXG5AaW1wb3J0IFwiZWxlbWVudHMvc2VjdGlvbnNcIjtcclxuQGltcG9ydCBcImVsZW1lbnRzL3NsaWRlclwiO1xyXG5AaW1wb3J0IFwiZWxlbWVudHMvdGVhbVwiO1xyXG5cclxuLmgtNTAwIHtcclxuICAgIGhlaWdodDogNjAwcHg7XHJcbn0iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgQm9vdHN0cmFwIGZ1bmN0aW9uIHRvIHR1cm4gbWFwcyBpbnRvIGl0cyBuZWdhdGl2ZSB2YXJpYW50LlxuLy8gSXQgcHJlZml4ZXMgdGhlIGtleXMgd2l0aCBgbmAgYW5kIG1ha2VzIHRoZSB2YWx1ZSBuZWdhdGl2ZS5cbkBmdW5jdGlvbiBuZWdhdGl2aWZ5LW1hcCgkbWFwKSB7XG4gICRyZXN1bHQ6ICgpO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgQGlmICRrZXkgIT0gMCB7XG4gICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKFwiblwiICsgJGtleTogKC0kdmFsdWUpKSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gR2V0IG11bHRpcGxlIGtleXMgZnJvbSBhIHNhc3MgbWFwXG5AZnVuY3Rpb24gbWFwLWdldC1tdWx0aXBsZSgkbWFwLCAkdmFsdWVzKSB7XG4gICRyZXN1bHQ6ICgpO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgQGlmIChpbmRleCgkdmFsdWVzLCAka2V5KSAhPSBudWxsKSB7XG4gICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6ICR2YWx1ZSkpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuQGZ1bmN0aW9uIGVzY2FwZS1zdmcoJHN0cmluZykge1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwiZGF0YTppbWFnZS9zdmcreG1sXCIpIHtcbiAgICBAZWFjaCAkY2hhciwgJGVuY29kZWQgaW4gJGVzY2FwZWQtY2hhcmFjdGVycyB7XG4gICAgICAvLyBEbyBub3QgZXNjYXBlIHRoZSB1cmwgYnJhY2tldHNcbiAgICAgIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJ1cmwoXCIpID09IDEge1xuICAgICAgICAkc3RyaW5nOiB1cmwoXCIje3N0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkZW5jb2RlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwMTY4XG5cbi8vIEEgbGlzdCBvZiBwcmUtY2FsY3VsYXRlZCBudW1iZXJzIG9mIHBvdygoJHZhbHVlIC8gMjU1ICsgLjA1NSkgLyAxLjA1NSwgMi40KS4gKGZyb20gMCB0byAyNTUpXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuJF9sdW1pbmFuY2UtbGlzdDogLjAwMDggLjAwMSAuMDAxMSAuMDAxMyAuMDAxNSAuMDAxNyAuMDAyIC4wMDIyIC4wMDI1IC4wMDI3IC4wMDMgLjAwMzMgLjAwMzcgLjAwNCAuMDA0NCAuMDA0OCAuMDA1MiAuMDA1NiAuMDA2IC4wMDY1IC4wMDcgLjAwNzUgLjAwOCAuMDA4NiAuMDA5MSAuMDA5NyAuMDEwMyAuMDExIC4wMTE2IC4wMTIzIC4wMTMgLjAxMzcgLjAxNDQgLjAxNTIgLjAxNiAuMDE2OCAuMDE3NiAuMDE4NSAuMDE5NCAuMDIwMyAuMDIxMiAuMDIyMiAuMDIzMiAuMDI0MiAuMDI1MiAuMDI2MiAuMDI3MyAuMDI4NCAuMDI5NiAuMDMwNyAuMDMxOSAuMDMzMSAuMDM0MyAuMDM1NiAuMDM2OSAuMDM4MiAuMDM5NSAuMDQwOSAuMDQyMyAuMDQzNyAuMDQ1MiAuMDQ2NyAuMDQ4MiAuMDQ5NyAuMDUxMyAuMDUyOSAuMDU0NSAuMDU2MSAuMDU3OCAuMDU5NSAuMDYxMiAuMDYzIC4wNjQ4IC4wNjY2IC4wNjg1IC4wNzA0IC4wNzIzIC4wNzQyIC4wNzYyIC4wNzgyIC4wODAyIC4wODIzIC4wODQ0IC4wODY1IC4wODg3IC4wOTA4IC4wOTMxIC4wOTUzIC4wOTc2IC4wOTk5IC4xMDIyIC4xMDQ2IC4xMDcgLjEwOTUgLjExMTkgLjExNDQgLjExNyAuMTE5NSAuMTIyMSAuMTI0OCAuMTI3NCAuMTMwMSAuMTMyOSAuMTM1NiAuMTM4NCAuMTQxMyAuMTQ0MSAuMTQ3IC4xNSAuMTUyOSAuMTU1OSAuMTU5IC4xNjIgLjE2NTEgLjE2ODMgLjE3MTQgLjE3NDYgLjE3NzkgLjE4MTIgLjE4NDUgLjE4NzggLjE5MTIgLjE5NDYgLjE5ODEgLjIwMTYgLjIwNTEgLjIwODYgLjIxMjIgLjIxNTkgLjIxOTUgLjIyMzIgLjIyNyAuMjMwNyAuMjM0NiAuMjM4NCAuMjQyMyAuMjQ2MiAuMjUwMiAuMjU0MiAuMjU4MiAuMjYyMyAuMjY2NCAuMjcwNSAuMjc0NyAuMjc4OSAuMjgzMSAuMjg3NCAuMjkxOCAuMjk2MSAuMzAwNSAuMzA1IC4zMDk1IC4zMTQgLjMxODUgLjMyMzEgLjMyNzggLjMzMjUgLjMzNzIgLjM0MTkgLjM0NjcgLjM1MTUgLjM1NjQgLjM2MTMgLjM2NjMgLjM3MTIgLjM3NjMgLjM4MTMgLjM4NjQgLjM5MTYgLjM5NjggLjQwMiAuNDA3MiAuNDEyNSAuNDE3OSAuNDIzMyAuNDI4NyAuNDM0MiAuNDM5NyAuNDQ1MiAuNDUwOCAuNDU2NCAuNDYyMSAuNDY3OCAuNDczNSAuNDc5MyAuNDg1MSAuNDkxIC40OTY5IC41MDI5IC41MDg5IC41MTQ5IC41MjEgLjUyNzEgLjUzMzMgLjUzOTUgLjU0NTcgLjU1MiAuNTU4MyAuNTY0NyAuNTcxMSAuNTc3NiAuNTg0MSAuNTkwNiAuNTk3MiAuNjAzOCAuNjEwNSAuNjE3MiAuNjI0IC42MzA4IC42Mzc2IC42NDQ1IC42NTE0IC42NTg0IC42NjU0IC42NzI0IC42Nzk1IC42ODY3IC42OTM5IC43MDExIC43MDg0IC43MTU3IC43MjMxIC43MzA1IC43Mzc5IC43NDU0IC43NTI5IC43NjA1IC43NjgyIC43NzU4IC43ODM1IC43OTEzIC43OTkxIC44MDcgLjgxNDggLjgyMjggLjgzMDggLjgzODggLjg0NjkgLjg1NSAuODYzMiAuODcxNCAuODc5NiAuODg3OSAuODk2MyAuOTA0NyAuOTEzMSAuOTIxNiAuOTMwMSAuOTM4NyAuOTQ3MyAuOTU2IC45NjQ3IC45NzM0IC45ODIzIC45OTExIDE7XG5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCwgJGNvbG9yLWNvbnRyYXN0LWRhcms6ICRjb2xvci1jb250cmFzdC1kYXJrLCAkY29sb3ItY29udHJhc3QtbGlnaHQ6ICRjb2xvci1jb250cmFzdC1saWdodCwgJG1pbi1jb250cmFzdC1yYXRpbzogJG1pbi1jb250cmFzdC1yYXRpbykge1xuICAkZm9yZWdyb3VuZHM6ICRjb2xvci1jb250cmFzdC1saWdodCwgJGNvbG9yLWNvbnRyYXN0LWRhcmssICR3aGl0ZSwgJGJsYWNrO1xuICAkbWF4LXJhdGlvOiAwO1xuICAkbWF4LXJhdGlvLWNvbG9yOiBudWxsO1xuXG4gIEBlYWNoICRjb2xvciBpbiAkZm9yZWdyb3VuZHMge1xuICAgICRjb250cmFzdC1yYXRpbzogY29udHJhc3QtcmF0aW8oJGJhY2tncm91bmQsICRjb2xvcik7XG4gICAgQGlmICRjb250cmFzdC1yYXRpbyA+ICRtaW4tY29udHJhc3QtcmF0aW8ge1xuICAgICAgQHJldHVybiAkY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkY29udHJhc3QtcmF0aW8gPiAkbWF4LXJhdGlvIHtcbiAgICAgICRtYXgtcmF0aW86ICRjb250cmFzdC1yYXRpbztcbiAgICAgICRtYXgtcmF0aW8tY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICBAd2FybiBcIkZvdW5kIG5vIGNvbG9yIGxlYWRpbmcgdG8gI3skbWluLWNvbnRyYXN0LXJhdGlvfToxIGNvbnRyYXN0IHJhdGlvIGFnYWluc3QgI3skYmFja2dyb3VuZH3igKZcIjtcblxuICBAcmV0dXJuICRtYXgtcmF0aW8tY29sb3I7XG59XG5cbkBmdW5jdGlvbiBjb250cmFzdC1yYXRpbygkYmFja2dyb3VuZCwgJGZvcmVncm91bmQ6ICRjb2xvci1jb250cmFzdC1saWdodCkge1xuICAkbDE6IGx1bWluYW5jZSgkYmFja2dyb3VuZCk7XG4gICRsMjogbHVtaW5hbmNlKG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpKTtcblxuICBAcmV0dXJuIGlmKCRsMSA+ICRsMiwgKCRsMSArIC4wNSkgLyAoJGwyICsgLjA1KSwgKCRsMiArIC4wNSkgLyAoJGwxICsgLjA1KSk7XG59XG5cbi8vIFJldHVybiBXQ0FHMi4wIHJlbGF0aXZlIGx1bWluYW5jZVxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvR0wvd2lraS9SZWxhdGl2ZV9sdW1pbmFuY2Vcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLVRFQ0hTL0cxNy5odG1sI0cxNy10ZXN0c1xuQGZ1bmN0aW9uIGx1bWluYW5jZSgkY29sb3IpIHtcbiAgJHJnYjogKFxuICAgIFwiclwiOiByZWQoJGNvbG9yKSxcbiAgICBcImdcIjogZ3JlZW4oJGNvbG9yKSxcbiAgICBcImJcIjogYmx1ZSgkY29sb3IpXG4gICk7XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkcmdiIHtcbiAgICAkdmFsdWU6IGlmKCR2YWx1ZSAvIDI1NSA8IC4wMzkyOCwgJHZhbHVlIC8gMjU1IC8gMTIuOTIsIG50aCgkX2x1bWluYW5jZS1saXN0LCAkdmFsdWUgKyAxKSk7XG4gICAgJHJnYjogbWFwLW1lcmdlKCRyZ2IsICgkbmFtZTogJHZhbHVlKSk7XG4gIH1cblxuICBAcmV0dXJuIChtYXAtZ2V0KCRyZ2IsIFwiclwiKSAqIC4yMTI2KSArIChtYXAtZ2V0KCRyZ2IsIFwiZ1wiKSAqIC43MTUyKSArIChtYXAtZ2V0KCRyZ2IsIFwiYlwiKSAqIC4wNzIyKTtcbn1cblxuLy8gUmV0dXJuIG9wYXF1ZSBjb2xvclxuLy8gb3BhcXVlKCNmZmYsIHJnYmEoMCwgMCwgMCwgLjUpKSA9PiAjODA4MDgwXG5AZnVuY3Rpb24gb3BhcXVlKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZCkge1xuICBAcmV0dXJuIG1peChyZ2JhKCRmb3JlZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQsIG9wYWNpdHkoJGZvcmVncm91bmQpICogMTAwKTtcbn1cblxuLy8gUmVxdWVzdCBhIGNvbG9yIGxldmVsXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItbGV2ZWxcbkBmdW5jdGlvbiBjb2xvci1sZXZlbCgkY29sb3I6ICRwcmltYXJ5LCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci1sZXZlbFxuXG5AZnVuY3Rpb24gdGludC1jb2xvcigkY29sb3IsICRsZXZlbCkge1xuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuXG5AZnVuY3Rpb24gc2hhZGUtY29sb3IoJGNvbG9yLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBtaXgoYmxhY2ssICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIklzdG9rV2ViLUJvbGRcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItQm9sZC5lb3RcIik7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgIHVybChcIi4uL2ZvbnRzL0lzdG9rV2ViLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpLCAvKiBPcGVuIFR5cGUgRm9udCAqL1xyXG4gICAgICB1cmwoXCIuLi9mb250cy9Jc3Rva1dlYi1Cb2xkLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIC8qIExlZ2FjeSBpT1MgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgIHVybChcIi4uL2ZvbnRzL0lzdG9rV2ViLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIklzdG9rV2ViLUJvbGRJdGFsaWNcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItQm9sZEl0YWxpYy5lb3RcIik7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItQm9sZEl0YWxpYy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgIHVybChcIi4uL2ZvbnRzL0lzdG9rV2ViLUJvbGRJdGFsaWMub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpLCAvKiBPcGVuIFR5cGUgRm9udCAqL1xyXG4gICAgICB1cmwoXCIuLi9mb250cy9Jc3Rva1dlYi1Cb2xkSXRhbGljLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIC8qIExlZ2FjeSBpT1MgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItQm9sZEl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgIHVybChcIi4uL2ZvbnRzL0lzdG9rV2ViLUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIH1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiSXN0b2tXZWItSXRhbGljXCI7XHJcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL0lzdG9rV2ViLUl0YWxpYy5lb3RcIik7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItSXRhbGljLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIC8qIElFNi1JRTggKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItSXRhbGljLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKSwgLyogT3BlbiBUeXBlIEZvbnQgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItSXRhbGljLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIC8qIExlZ2FjeSBpT1MgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItSXRhbGljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgIHVybChcIi4uL2ZvbnRzL0lzdG9rV2ViLUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIH1cclxuXHJcbiBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIklzdG9rV2ViLVJlZ3VsYXJcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItUmVndWxhci5lb3RcIik7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItUmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgIHVybChcIi4uL2ZvbnRzL0lzdG9rV2ViLVJlZ3VsYXIub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpLCAvKiBPcGVuIFR5cGUgRm9udCAqL1xyXG4gICAgICB1cmwoXCIuLi9mb250cy9Jc3Rva1dlYi1SZWd1bGFyLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIC8qIExlZ2FjeSBpT1MgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgIHVybChcIi4uL2ZvbnRzL0lzdG9rV2ViLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgdXJsKFwiLi4vZm9udHMvSXN0b2tXZWItUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIH1cclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBzcmM6IHVybChNYXRlcmlhbEljb25zLVJlZ3VsYXIuZW90KTsgLyogRm9yIElFNi04ICovXHJcbiAgICBzcmM6IGxvY2FsKCdNYXRlcmlhbCBJY29ucycpLFxyXG4gICAgICAgICBsb2NhbCgnTWF0ZXJpYWxJY29ucy1SZWd1bGFyJyksXHJcbiAgICAgICAgIHVybCguLi9mb250cy9NYXRlcmlhbEljb25zLVJlZ3VsYXIud29mZjIpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICAgdXJsKC4uL2ZvbnRzL01hdGVyaWFsSWNvbnMtUmVndWxhci53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgdXJsKC4uL2ZvbnRzL01hdGVyaWFsSWNvbnMtUmVndWxhci50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuICB9XHJcbiAgXHJcbiAgLm1hdGVyaWFsLWljb25zIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDsgIC8qIFByZWZlcnJlZCBpY29uIHNpemUgKi9cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xyXG4gICAgd29yZC13cmFwOiBub3JtYWw7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgXHJcbiAgICAvKiBTdXBwb3J0IGZvciBhbGwgV2ViS2l0IGJyb3dzZXJzLiAqL1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAvKiBTdXBwb3J0IGZvciBTYWZhcmkgYW5kIENocm9tZS4gKi9cclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiAgXHJcbiAgICAvKiBTdXBwb3J0IGZvciBGaXJlZm94LiAqL1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICBcclxuICAgIC8qIFN1cHBvcnQgZm9yIElFLiAqL1xyXG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XHJcbiAgfSIsIiRyZWQ6ICNjZDE3MTk7XHJcbiRibHVlOiAjMDBBRUVGO1xyXG4kYmx1ZS1saWdodDogI0UxRjBGQjtcclxuJGJsdWUtZGFyazogIzAwNTg4QTtcclxuJGdyYXk6ICNFNkU3RTg7XHJcblxyXG4kZm9udDogJ0lzdG9rV2ViLVJlZ3VsYXInO1xyXG4kZm9udC1pdGFsaWM6ICdJc3Rva1dlYi1JdGFsaWMnO1xyXG4kZm9udC1ib2xkOiAnSXN0b2tXZWItQm9sZCc7XHJcbiRmb250LUJvbGRJdGFsaWM6ICdJc3Rva1dlYi1Cb2xkSXRhbGljJztcclxuXHJcbiRncmlkLWJyZWFrcG9pbnRzOiAoXHJcbiAgeHM6IDAsXHJcbiAgc206IDU3NnB4LFxyXG4gIG1kOiA3NjhweCxcclxuICBsZzogOTkycHgsXHJcbiAgeGw6IDEyMDBweCxcclxuICB4eGw6IDE0MDBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcclxuXHJcbiRzZWN0aW9uLW1hZ2luLXRvcDogMzBweDtcclxuXHJcbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xyXG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpOyIsImJvZHkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcclxuICAgIGNvbG9yOiAkYmx1ZS1kYXJrO1xyXG59XHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiAkYmx1ZS1kYXJrO1xyXG59XHJcblxyXG4jU3RhcnQge1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxufVxyXG5cclxuaDIge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbmgzIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1ib2xkO1xyXG59XHJcbmg0IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1ib2xkO1xyXG4gICAgY29sb3I6ICRibHVlLWRhcms7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcbnAsIHVsIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS43ZW07XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWRhcms7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYm9sZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcclxuICAgICAgICAgICAgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDotMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnNwYW4uZG90IHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMDAyNUQ3XCI7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAudGl0bGUgaDIge1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyaztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb2wge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkgeyBcclxuICAgIC50aXRsZSBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gICAgICBTZXR0aW5ncyAgICAgIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLy8gb3ZlcmxheVxyXG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmZmZmYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxyXG4kbWZwLW92ZXJsYXktb3BhY2l0eTogICAgICAgICAgICAgICAgIDAuOSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIG92ZXJsYXkgc2NyZWVuXHJcbiRtZnAtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNikgIWRlZmF1bHQ7IC8vIFNoYWRvdyBvbiBpbWFnZSBvciBpZnJhbWVcclxuXHJcbi8vIHNwYWNpbmdcclxuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFkZGluZyBmcm9tIGxlZnQgYW5kIGZyb20gcmlnaHQgc2lkZVxyXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcclxuXHJcbiRtZnAtei1pbmRleC1iYXNlOiAgICAgICAgICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhc2Ugei1pbmRleCBvZiBwb3B1cFxyXG5cclxuLy8gY29udHJvbHNcclxuJG1mcC1pbmNsdWRlLWFycm93czogICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5jbHVkZSBzdHlsZXMgZm9yIG5hdiBhcnJvd3NcclxuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xyXG4kbWZwLWNvbnRyb2xzLWNvbG9yOiAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjb250cm9sc1xyXG4kbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjogICAgICAgICAgICMzRjNGM0YgIWRlZmF1bHQ7IFx0ICAgICAgICAgICAgICAgICAvLyBCb3JkZXIgY29sb3Igb2YgY29udHJvbHNcclxuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXHJcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgI0NDQyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcclxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyOiAgICAgICAjRkZGICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSG92ZXIgY29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxyXG5cclxuLy8gSWZyYW1lLXR5cGUgb3B0aW9uc1xyXG4kbWZwLWluY2x1ZGUtaWZyYW1lLXR5cGU6ICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgSWZyYW1lLXR5cGUgcG9wdXBzXHJcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxyXG4kbWZwLWlmcmFtZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGlmcmFtZXNcclxuJG1mcC1pZnJhbWUtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gTWF4aW11bSB3aWR0aCBvZiBpZnJhbWVzXHJcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxyXG5cclxuLy8gSW1hZ2UtdHlwZSBvcHRpb25zXHJcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xyXG4kbWZwLWltYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XHJcbiRtZnAtaW1hZ2UtcGFkZGluZy10b3A6ICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgdG9wXHJcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXHJcbiRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZTogdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgcGFkZGluZ3MgZnJvbSB0b3AgYW5kIGJvdHRvbVxyXG5cclxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXHJcbiRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgI0YzRjNGMyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gdGl0bGUgY29sb3JcclxuJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAjQkRCREJEICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgLy8gQ2FwdGlvbiBzdWJ0aXRsZSBjb2xvclxyXG5cclxuLy8gQTExeVxyXG4kbWZwLXVzZS12aXN1YWxseWhpZGRlbjogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBIaWRlIGNvbnRlbnQgZnJvbSBicm93c2VycywgYnV0IG1ha2UgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyIiwiLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXHJcblxyXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vL1xyXG4vLyBDb250ZW50czpcclxuLy9cclxuLy8gMS4gR2VuZXJhbCBzdHlsZXNcclxuLy8gICAgLSBUcmFuc2x1c2NlbnQgb3ZlcmxheVxyXG4vLyAgICAtIENvbnRhaW5lcnMsIHdyYXBwZXJzXHJcbi8vICAgIC0gQ3Vyc29yc1xyXG4vLyAgICAtIEhlbHBlciBjbGFzc2VzXHJcbi8vIDIuIEFwcGVhcmFuY2VcclxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcclxuLy8gICAgLSBDU1MgcmVzZXQgZm9yIGJ1dHRvbnNcclxuLy8gICAgLSBDbG9zZSBpY29uXHJcbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXHJcbi8vICAgIC0gTmF2aWdhdGlvbiAobGVmdC9yaWdodCkgYXJyb3dzXHJcbi8vICAgIC0gSWZyYW1lIGNvbnRlbnQgdHlwZSBzdHlsZXNcclxuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXHJcbi8vICAgIC0gTWVkaWEgcXVlcnkgd2hlcmUgc2l6ZSBvZiBhcnJvd3MgaXMgcmVkdWNlZFxyXG4vLyAgICAtIElFNyBzdXBwb3J0XHJcbi8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gMS4gR2VuZXJhbCBzdHlsZXNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxyXG4ubWZwLWJnIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICBiYWNrZ3JvdW5kOiAkbWZwLW92ZXJsYXktY29sb3I7XHJcbiAgb3BhY2l0eTogJG1mcC1vdmVybGF5LW9wYWNpdHk7XHJcbn1cclxuXHJcbi8vIFdyYXBwZXIgZm9yIHBvcHVwXHJcbi5tZnAtd3JhcCB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBmaXhlcyB3ZWJraXQgYnVnIHRoYXQgY2FuIGNhdXNlIFwiZmFsc2VcIiBzY3JvbGxiYXJcclxufVxyXG5cclxuLy8gUm9vdCBjb250YWluZXJcclxuLm1mcC1jb250YWluZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHBhZGRpbmc6IDAgJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLy8gVmVydGljYWwgY2VudGVyZXIgaGVscGVyXHJcbi5tZnAtY29udGFpbmVyIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSZW1vdmUgdmVydGljYWwgY2VudGVyaW5nIHdoZW4gcG9wdXAgaGFzIGNsYXNzIGBtZnAtYWxpZ24tdG9wYFxyXG4ubWZwLWFsaWduLXRvcCB7XHJcbiAgLm1mcC1jb250YWluZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gUG9wdXAgY29udGVudCBob2xkZXJcclxuLm1mcC1jb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDU7XHJcbn1cclxuLm1mcC1pbmxpbmUtaG9sZGVyLFxyXG4ubWZwLWFqYXgtaG9sZGVyIHtcclxuICAubWZwLWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDdXJzb3JzXHJcbi5tZnAtYWpheC1jdXIge1xyXG4gIGN1cnNvcjogcHJvZ3Jlc3M7XHJcbn1cclxuLm1mcC16b29tLW91dC1jdXIge1xyXG4gICYsIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xyXG4gICAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xyXG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xyXG4gICAgY3Vyc29yOiB6b29tLW91dDtcclxuICB9XHJcbn1cclxuLm1mcC16b29tIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XHJcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XHJcbiAgY3Vyc29yOiB6b29tLWluO1xyXG59XHJcbi5tZnAtYXV0by1jdXJzb3Ige1xyXG4gIC5tZnAtY29udGVudCB7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4ubWZwLWNsb3NlLFxyXG4ubWZwLWFycm93LFxyXG4ubWZwLXByZWxvYWRlcixcclxuLm1mcC1jb3VudGVyIHtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLy8gSGlkZSB0aGUgaW1hZ2UgZHVyaW5nIHRoZSBsb2FkaW5nXHJcbi5tZnAtbG9hZGluZyB7XHJcbiAgJi5tZnAtZmlndXJlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBIZWxwZXIgY2xhc3MgdGhhdCBoaWRlcyBzdHVmZlxyXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xyXG4gIC8vIEZyb20gSFRNTDUgQm9pbGVycGxhdGUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi92NC4yLjAvZG9jL2Nzcy5tZCN2aXN1YWxseWhpZGRlblxyXG4gIC5tZnAtaGlkZSB7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufSBAZWxzZSB7XHJcbiAgLm1mcC1oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gMi4gQXBwZWFyYW5jZVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbi8vIFByZWxvYWRlciBhbmQgdGV4dCB0aGF0IGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzXHJcbi5tZnAtcHJlbG9hZGVyIHtcclxuICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICB3aWR0aDogYXV0bztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xyXG4gIGxlZnQ6IDhweDtcclxuICByaWdodDogOHB4O1xyXG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcclxuICBhIHtcclxuICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXHJcbi5tZnAtcy1yZWFkeSB7XHJcbiAgLm1mcC1wcmVsb2FkZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhpZGUgY29udGVudCB3aGVuIGl0IHdhcyBub3QgbG9hZGVkXHJcbi5tZnAtcy1lcnJvciB7XHJcbiAgLm1mcC1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDU1MtcmVzZXQgZm9yIGJ1dHRvbnNcclxuYnV0dG9uIHtcclxuICAmLm1mcC1jbG9zZSxcclxuICAmLm1mcC1hcnJvdyB7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNjtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICB9XHJcbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJvcmRlcjogMFxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIENsb3NlIGljb25cclxuLm1mcC1jbG9zZSB7XHJcbiAgd2lkdGg6IDY0cHg7XHJcbiAgaGVpZ2h0OiA2NHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA2NHB4O1xyXG5cclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xyXG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XHJcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtY29sb3I7XHJcblxyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDI4cHg7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIHRvcDogMXB4O1xyXG4gIH1cclxufVxyXG4ubWZwLWNsb3NlLWJ0bi1pbiB7XHJcbiAgLm1mcC1jbG9zZSB7XHJcbiAgICBjb2xvcjogJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yO1xyXG4gIH1cclxufVxyXG4ubWZwLWltYWdlLWhvbGRlcixcclxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcclxuICAubWZwLWNsb3NlIHtcclxuICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLWNvbG9yO1xyXG4gICAgcmlnaHQ6IC02cHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXHJcbi5tZnAtY291bnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBsaW5lLWhlaWdodDogMThweDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4vLyBOYXZpZ2F0aW9uIGFycm93c1xyXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XHJcbiAgLm1mcC1hcnJvdyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIG1hcmdpbi10b3A6IC01NXB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgaGVpZ2h0OiAxMTBweDtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTU0cHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMzVweDtcclxuICAgICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcblxyXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xyXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xyXG4gICAgICB0b3A6OHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcclxuICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5tZnAtYXJyb3ctbGVmdCB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgJG1mcC1jb250cm9scy1jb2xvcjtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDM5cHhcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vIElmcmFtZSBjb250ZW50IHR5cGVcclxuQGlmICRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZSB7XHJcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAkbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDtcclxuICAgIC5tZnAtY29udGVudCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XHJcbiAgICB9XHJcbiAgICAubWZwLWNsb3NlIHtcclxuICAgICAgdG9wOiAtNDBweDtcclxuICAgIH1cclxuICB9XHJcbiAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmctdG9wOiAkbWZwLWlmcmFtZS1yYXRpbyAqIDEwMCU7XHJcbiAgICBpZnJhbWUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWZwLWlmcmFtZS1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyBJbWFnZSBjb250ZW50IHR5cGVcclxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcclxuXHJcbiAgLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xyXG4gIGltZyB7XHJcbiAgICAmLm1mcC1pbWcge1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgcGFkZGluZzogJG1mcC1pbWFnZS1wYWRkaW5nLXRvcCAwICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXHJcbiAgLm1mcC1maWd1cmUge1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wO1xyXG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWZwLWltYWdlLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcbiAgICBzbWFsbCB7XHJcbiAgICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgfVxyXG4gICAgZmlndXJlIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAubWZwLWJvdHRvbS1iYXIge1xyXG4gICAgbWFyZ2luLXRvcDogLSRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b20gKyA0O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY3Vyc29yOiBhdXRvO1xyXG4gIH1cclxuICAubWZwLXRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyAvLyBsZWF2ZSBzb21lIHNwYWNlIGZvciBjb3VudGVyIGF0IHJpZ2h0IHNpZGVcclxuICB9XHJcblxyXG4gIC5tZnAtaW1hZ2UtaG9sZGVyIHtcclxuICAgIC5tZnAtY29udGVudCB7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZnAtZ2FsbGVyeSB7XHJcbiAgICAubWZwLWltYWdlLWhvbGRlciB7XHJcbiAgICAgIC5tZnAtZmlndXJlIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBAaWYgJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXHJcbiAgICAgICAqL1xyXG4gICAgICAubWZwLWltZy1tb2JpbGUge1xyXG4gICAgICAgIC5tZnAtaW1hZ2UtaG9sZGVyIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAmLm1mcC1pbWcge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWZwLWZpZ3VyZSB7XHJcbiAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWZwLWJvdHRvbS1iYXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpO1xyXG4gICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAmOmVtcHR5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1mcC1jb3VudGVyIHtcclxuICAgICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1mcC1jbG9zZSB7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyBTY2FsZSBuYXZpZ2F0aW9uIGFycm93cyBhbmQgcmVkdWNlIHBhZGRpbmcgZnJvbSBzaWRlc1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xyXG4gIC5tZnAtYXJyb3cge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuICB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7XHJcbiAgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcclxuICB9XHJcbiAgLm1mcC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XHJcbiAgfVxyXG59XHJcbiIsIiNuYXZiYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctbGVmdDowO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggLTFweCAxN3B4IDBweCByZ2JhKDE1MywxNTMsMTUzLDEpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggLTFweCAxN3B4IDBweCByZ2JhKDE1MywxNTMsMTUzLDEpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IC0xcHggMTdweCAwcHggcmdiYSgxNTMsMTUzLDE1MywxKTtcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1kYXJrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSgwLCA4NiwgMTM3LCAxKScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMXB0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcclxuICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICB9XHJcbiAgICAjbG9nbyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIC8vcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgYm90dG9tOiAtMTEwcHg7XHJcbiAgICAgICAgei1pbmRleDogOTtcclxuICAgIH1cclxuICAgIGxpLm5hdi1pdGVtIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgI25hdmJhckNvbGxhcHNlIHtcclxuICAgICAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2LWRlc2t0b3Age1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAjbmF2YmFyIHtcclxuICAgICAgICAjbmF2YmFyQ29sbGFwc2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjh2dztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgI25hdmJhciB7XHJcbiAgICAgICAgbGkubmF2LWl0ZW0geyBcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXZ3O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgI25hdmJhciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XHJcbiAgICAgICAgI2xvZ28geyBcclxuICAgICAgICAgICAgYm90dG9tOiAtNzBweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2YmFyLWJyYW5kICB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjdG9waW5mbyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgI25hdmJhciB7XHJcbiAgICAgICAgI2xvZ28geyBcclxuICAgICAgICAgICAgYm90dG9tOiAtMzBweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogOTBweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZiYXItYnJhbmQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgIH1cclxuIH0iLCIuY29udGVudCB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjowIDAgMTVweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxN3B4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMDI1RDdcIjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjdweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIjdGhhbmtzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNkU3RTg7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgc3Bhbi5iaWcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjFwdDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBjb2xvcjogJGJsdWUtZGFyaztcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7IFxyXG4gICAgI3RoYW5rcyB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgIHNwYW4uYmlnIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHsgXHJcbiAgICAjdGhhbmtzIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgc3Bhbi5iaWcge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiI3RvcGluZm8ge1xyXG4gICAgLmNpdGUtd3JhcCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgLmlubmVyLXdyYXAge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2l0ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEzJTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEzJTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjV2dztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIjc2lkZWJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIC5vcGVuZXIge1xyXG4gICAgICAgIC5vcGVuZXItdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5mbyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgaHIge1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIGJvcmRlcjowO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICAjbm90cnVmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgICNzaWRlaW5mbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgI3NpZGViYXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRvcDogMzBweDtcclxuICAgICAgICAuaW5mbyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vcGVuZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNub3RydWYsICNzaWRlaW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuOWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiNOZXdzIHtcclxuICAgIC8vbWFyZ2luLXRvcDogJHNlY3Rpb24tbWFnaW4tdG9wO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNlY3Rpb24tbWFnaW4tdG9wO1xyXG4gICAgZGl2LnRpdGxlIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgIH1cclxuICAgIC5yb3cgLnJvdyB7XHJcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcclxuICAgIH1cclxufVxyXG5cclxuI05ld3MsICNQcmF4aXMge1xyXG4gICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiNQcmF4aXMge1xyXG4gICAgLmxpbmUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcclxuICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4jU3ByZWNoc3R1bmRlLCAjTGVpc3R1bmdlbiwgI1RlYW0sICNLb250YWt0IHtcclxuICAgIG1hcmdpbi10b3A6ICRzZWN0aW9uLW1hZ2luLXRvcDtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAgIH1cclxuICAgIC5saW5lIHtcclxuICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyaztcclxuICAgIH1cclxufVxyXG4jU3ByZWNoc3R1bmRlLCAjVGVybWluZSwgI1JlemVwdCwgI0xlaXN0dW5nZW4sICNLb250YWt0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0O1xyXG59XHJcblxyXG4jVGVybWluZSwgI1JlemVwdCB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbn1cclxuXHJcbiNBbmZhaHJ0LCAjVGVhbSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1tYWdpbi10b3A7XHJcbn1cclxuXHJcbiNUZWFtIHtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jRGlhc2hvdyB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1tYWdpbi10b3A7XHJcbn0iLCIjY2Fyb3VzZWwge1xyXG4gICAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkgIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICAkYmx1ZTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gICAgI2Nhcm91c2VsIHtcclxuICAgICAgICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiNUZWFtIHtcclxuICAgIC50ZWFtaW5mbyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyAnO1xyXG4gICAgICAgICAgICB3aWR0aDo0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6NDBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyMHB4KTtcclxuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb2xsYXBzZWQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUdBQSxVQUFVO0VBQ04sV0FBVyxFQUFFLGVBQWU7RUFDNUIsR0FBRyxFQUFFLGlDQUFpQztFQUFFLHNCQUFzQjtFQUM5RCxHQUFHLEVBQUUsd0NBQXdDLENBQUMsMkJBQTJCLEVBQ3ZFLGlDQUFpQyxDQUFDLGtCQUFrQixFQUNwRCxpQ0FBaUMsQ0FBQyxhQUFhLEVBQy9DLGlDQUFpQyxDQUFDLGtCQUFrQixFQUNwRCxrQ0FBa0MsQ0FBQyxjQUFjLEVBQ2pELG1DQUFtQyxDQUFDLGVBQWU7RUFBRSxxQkFBcUI7RUFDNUUsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLE1BQU07O0FBR3RCLFVBQVU7RUFDTixXQUFXLEVBQUUscUJBQXFCO0VBQ2xDLEdBQUcsRUFBRSx1Q0FBdUM7RUFBRSxzQkFBc0I7RUFDcEUsR0FBRyxFQUFFLDhDQUE4QyxDQUFDLDJCQUEyQixFQUM3RSx1Q0FBdUMsQ0FBQyxrQkFBa0IsRUFDMUQsdUNBQXVDLENBQUMsYUFBYSxFQUNyRCx1Q0FBdUMsQ0FBQyxrQkFBa0IsRUFDMUQsd0NBQXdDLENBQUMsY0FBYyxFQUN2RCx5Q0FBeUMsQ0FBQyxlQUFlO0VBQUUscUJBQXFCO0VBQ2xGLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRUFBRSxNQUFNOztBQUd0QixVQUFVO0VBQ04sV0FBVyxFQUFFLGlCQUFpQjtFQUM5QixHQUFHLEVBQUUsbUNBQW1DO0VBQUUsc0JBQXNCO0VBQ2hFLEdBQUcsRUFBRSwwQ0FBMEMsQ0FBQywyQkFBMkIsRUFDekUs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 */
