/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

.flex-row {
  display: flex;
  flex-direction: row;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-1 {
  flex: 1;
}

.flex-2 {
  flex: 2;
}

.flex-3 {
  flex: 2;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.hidden {
  opacity: 0;
}

* {
  box-sizing: border-box;
}

body {
  position: relative;
  padding: 0;
  margin: 0;
  background: #121314;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
}

h1, h2, h3, h4, h5 {
  font-weight: normal;
}

h1, h2, h4, strong, b {
  font-weight: 700;
}

h1 {
  font-size: 2rem;
  margin: 0.75rem 0;
}

h1.smaller {
  font-size: 1.75rem;
}

@media (min-width: 992px) {
  h1 {
    font-size: 3rem;
    margin: 1rem 0;
  }

  h1.smaller {
    font-size: 2.5rem;
  }
}
h2 {
  font-size: 1.25rem;
  margin: 0.75rem 0;
}

@media (min-width: 992px) {
  h2 {
    font-size: 1.5rem;
    margin: 1rem 0;
  }
}
h1 + h2 {
  margin-top: -0.5rem;
}

h3 + h1 {
  margin-top: -0.25rem;
}

p + h2 {
  margin-top: 3rem;
}

h4 {
  font-size: 1.25rem;
  margin: 1.5rem 0;
}

h3 {
  font-size: 1.25rem;
  text-transform: uppercase;
  color: gray;
  margin: 1rem 0;
}

@media (max-width: 767px) {
  h3 {
    font-size: 1rem;
    color: #b3b3b3;
  }
}
p {
  margin: 1.25rem 0;
}

ul, li {
  list-style: none;
  margin: 0;
  padding: 0;
}

hr {
  border: none;
  height: 1pt;
  background: #fff;
  margin: 4rem 0;
  opacity: 0.7;
}

hr.short {
  width: 6rem;
}

figure {
  margin: 0;
  padding: 0;
}

.header-gradient {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 8.5rem;
  background: #121314;
  background: linear-gradient(#121314 75%, rgba(18, 19, 20, 0));
  z-index: 2;
}

@media (max-width: 767px) {
  .header-gradient {
    height: 6rem;
  }
}
@media (min-width: 767px) {
  .header-gradient.mobile-only {
    display: none;
  }
}
.page-container {
  position: relative;
  margin: 0 auto;
  max-width: 55rem;
  padding: 0 2rem 12rem 14rem;
}

.page-container.resume {
  padding-top: 0;
}

@media (max-width: 767px) {
  .page-container {
    padding: 5rem 1rem 12rem;
    max-width: none;
  }

  .page-container.resume {
    padding-top: 5rem;
  }
}
.page-container article {
  line-height: 1.6;
}

.page-container article p {
  font-size: 1.25rem;
  color: #cccccc;
}

.page-container article h2 {
  font-size: 1.75rem;
}

.page-container article h4 {
  font-size: 1.5rem;
}

.page-container.hidden {
  display: none;
}

.page-subheading {
  top: 0;
  padding: 3.5rem 0 1.5rem;
  transition: all 0.2s;
}

.page-subheading * {
  margin-top: 0.25rem;
}

.page-subheading.sticky {
  position: -webkit-sticky;
  position: sticky;
  z-index: 3;
}

@media (max-width: 767px) {
  .page-subheading {
    position: static !important;
    padding: 2rem 0;
  }
}
.diamond {
  position: fixed;
  right: 5%;
  top: 15%;
  opacity: 0.07;
  z-index: 0;
  display: flex;
  flex-direction: row;
}

@media (max-width: 767px) {
  .diamond {
    right: -5%;
  }
}
.diamond:before, .diamond:after {
  content: "";
  display: block;
  width: 30vw;
  height: 30vw;
  border: 2vw solid #fff;
  transform: rotate(45deg);
  border-radius: 2vw;
}

@media (max-width: 767px) {
  .diamond:before, .diamond:after {
    width: 35vh;
    height: 35vh;
    border-width: 2vh;
  }
}
.diamond:after {
  transform: translateX(33%) rotate(45deg);
}

a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  border-bottom: 2px solid #fff;
}

a:hover, a:active {
  background: #fff;
  color: black;
}

.btn {
  position: relative;
  padding: 0.5rem 0;
  color: #fff;
  font-size: 1.25rem;
  text-transform: uppercase;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}

.btn:hover, .btn.pressed {
  padding: 0.5rem 2rem;
  background: #fff;
  color: black;
  border-radius: 3px;
}

.bg-map {
  position: fixed;
  right: 0;
  top: 8.75rem;
  bottom: 8vh;
  width: 75vw;
  max-height: 60vh;
  opacity: 0.6;
  transition: all 0.5s;
}

.bg-map:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 32px;
  background: #121314;
  z-index: 2;
}

@media (min-width: 992px) {
  .bg-map {
    bottom: 15vh;
    width: 72vw;
  }
}
@media (max-width: 767px) {
  .bg-map {
    width: 100vw;
    top: 1px;
    bottom: -30px;
    max-height: none;
  }
}
.bg-map.blurred {
  filter: blur(10px);
  transform: scale(0.93);
  opacity: 1;
}

.site-logo {
  position: fixed;
  top: 0;
  left: 0;
  font-size: 1.75rem;
  text-transform: uppercase;
  width: 14rem;
  margin: 3.5rem 0 0 3.5rem;
  z-index: 4;
  transition: all 0.3s ease-in-out;
}

.site-logo.hidden {
  left: -21rem;
}

@media (min-width: 992px) {
  .site-logo {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  .site-logo {
    right: 0;
    width: auto;
    margin: 0;
    padding: 1rem;
  }

  .site-logo.hidden {
    left: 0;
    top: -3rem;
  }
}
.site-menu {
  position: fixed;
  width: 14rem;
  top: 0;
  left: 0;
  margin: 9.5rem 0 0 3.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 4;
  transition: all 0.3s ease-in-out;
}

.site-menu .btn {
  display: block;
  margin: 0.5rem 0;
}

.site-menu.hidden {
  left: -21rem;
}

@media (max-width: 767px) {
  .site-menu {
    bottom: 0;
    right: 0;
    background: #121314;
    background: linear-gradient(rgba(18, 19, 20, 0), #121314 25%);
    flex-direction: row;
    width: auto;
    top: auto;
    margin: 0;
    height: 6rem;
    justify-content: space-around;
    align-items: flex-end;
  }

  .site-menu .btn {
    flex: 1;
    padding: 1rem 0;
    text-align: center;
    border: 0;
    margin: 0;
  }

  .site-menu.hidden {
    left: 0;
    bottom: -6rem;
  }
}
.resume-item-summary {
  position: relative;
  margin: 3rem 0 8rem 0;
  cursor: pointer;
}

.resume-item-summary .btn {
  opacity: 0.4;
}

.resume-item-summary:hover .btn {
  opacity: 1;
}

.resume-item-summary:hover .btn span {
  top: 0;
}

.resume-item-summary header h3 {
  display: inline-block;
  margin: 0;
}

@media (min-width: 767px) {
  .resume-item-summary header h3:first-child:after {
    content: "|";
    display: inline-block;
    margin: 0 0.5rem;
  }
}
@media (max-width: 767px) {
  .resume-item-summary header h3 {
    display: block;
    margin: 0.25rem 0;
  }
}
.resume-item-summary.-nolink {
  cursor: default;
}

.resume-item-summary.-project-page {
  display: flex;
  flex-direction: row;
  cursor: default;
}

.resume-item-summary.-project-page div:first-child {
  flex: 3;
}

.resume-item-summary.-project-page div:last-child {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding-bottom: 1rem;
}

.resume-item-summary.-project-page div:last-child img {
  max-width: 100px;
}

@media (max-width: 767px) {
  .resume-item-summary.-project-page div:last-child img {
    max-width: 80px;
  }
}
@media (max-width: 767px) {
  .resume-item-summary {
    margin: 1rem 0 5rem 0;
  }

  .resume-item-summary .btn {
    opacity: 1;
  }

  .resume-item-summary .btn span {
    position: static;
  }
}
.project-view-container {
  position: fixed;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.5s;
  z-index: 5;
  pointer-events: none;
  transform: scale(0.95);
}

.project-view-container.active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.project-view-container .close {
  position: fixed;
  top: 6vh;
  right: 8vw;
  width: 64px;
  height: 64px;
  background: #121314;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.project-view-container .close:before, .project-view-container .close:after {
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  left: 8px;
  right: 8px;
  margin-top: -2px;
  height: 4px;
  background: #fff;
  border-radius: 2px;
}

.project-view-container .close:before {
  transform: rotate(45deg);
}

.project-view-container .close:after {
  transform: rotate(-45deg);
}

.project-view-container .close:hover {
  transform: scale(1.1);
  filter: invert(100%);
}

@media (max-width: 767px) {
  .project-view-container .close {
    width: 48px;
    height: 48px;
  }
}
.project-view {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.project-view .page-container {
  padding: 4rem 2rem 10rem;
}

@media (max-width: 767px) {
  .project-view .page-container {
    padding: 4rem 1rem 10rem;
  }
}
.project-gallery {
  margin: 2rem -0.5rem 3rem;
}

.project-gallery .row {
  display: flex;
  flex-direction: column;
}

@media (min-width: 767px) {
  .project-gallery .row {
    flex-direction: row;
  }
}
.project-gallery figure {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin: 0.5rem 0.5rem 3rem;
}

.project-gallery figure img {
  max-width: 100%;
}

.project-gallery figure .cocoen img {
  max-width: none;
}

.project-gallery figure figcaption {
  flex: 1;
  background: #36393c;
  font-size: 0.8rem;
  padding: 1rem 1rem 2rem;
  opacity: 0.7;
}

.cocoen {
  box-sizing: border-box;
  cursor: pointer;
  line-height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.cocoen * {
  box-sizing: inherit;
}

.cocoen *::after, .cocoen *::before {
  box-sizing: inherit;
}

.cocoen img,
.cocoen picture > img {
  max-width: none;
}

.cocoen > img,
.cocoen > picture > img {
  display: block;
  width: 100%;
}

.cocoen > div:first-child, picture .cocoen > div {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 50%;
}

.cocoen-drag {
  background: #fff;
  bottom: 0;
  cursor: ew-resize;
  left: 50%;
  margin-left: -2px;
  position: absolute;
  top: 0;
  width: 4px;
}

.cocoen-drag::before {
  content: "";
  background: url("../images/btn-arrows.png") center no-repeat #121314;
  background-size: 55%;
  width: 44px;
  height: 44px;
  left: 50%;
  margin-left: -22px;
  margin-top: -22px;
  text-align: center;
  position: absolute;
  top: 50%;
  border-radius: 22px;
  box-shadow: inset 0 0 0 3px #fff;
  transition: all 0.3s;
}

.cocoen-drag:hover:before, .cocoen-drag:active:before {
  box-shadow: none;
  filter: invert(100%);
  transform: scale(1.1);
}

.dim {
  width: 1000px;
  height: 320px;
  margin: 10rem auto;
  background: #1c1c1c;
  position: relative;
  overflow: hidden;
}

.dim-island {
  padding: 50px 20px 0 20px;
}

.dim-island p {
  color: #777;
  margin: 0;
}

.dim-island h1 {
  font-weight: normal;
  font-size: 7rem;
  line-height: 7rem;
  margin: 0;
}

.dim-island.left {
  text-align: right;
}

.dim-menu {
  position: absolute;
  width: 240px;
  height: 240px;
  top: 40px;
  background: #222;
  overflow: hidden;
  transition: all 0.2s ease-out;
}

.dim-menu.right {
  right: 40px;
}

.dim-menu.left {
  left: 40px;
}

.dim-menu.wide {
  width: 420px;
}

.dim-menu-list {
  position: absolute;
  top: 0;
  width: 240px;
  bottom: 0;
  right: -240px;
  background: #222;
  overflow: hidden;
  transition: all 0.2s ease-out;
}

.dim-menu-list.phone-call {
  background: #444;
  text-align: center;
  padding-top: 100px;
}

.dim-menu-list.phone-call.small {
  width: 60px;
}

.dim-menu-list.phone-call.small .phone-buttons {
  visibility: hidden;
}

.dim-menu-list.phone-call.call-active {
  bottom: 0;
  top: auto;
  text-align: left;
  padding: 10px;
  height: 40px;
}

.dim-menu-list.phone-call.call-active .phone-buttons {
  visibility: hidden;
}

.dim-menu-item {
  padding: 0.8rem 1rem;
}

.dim-menu-item.grid {
  position: absolute;
  padding: 0;
  width: 80px;
  height: 80px;
  line-height: 90px;
  text-align: center;
}

.dim-menu-item.grid.top {
  top: 0;
  left: 80px;
}

.dim-menu-item.grid.right {
  top: 80px;
  right: 0;
}

.dim-menu-item.grid.bottom {
  bottom: 0;
  left: 80px;
}

.dim-menu-item.grid.left {
  top: 80px;
  left: 0;
}

.dim-menu-item.active {
  background: #333;
}

.is-visible {
  right: 0;
}

.dim-container {
  width: 1200px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJfdXRpbHMuc2NzcyIsIl9iYXNlLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbGF5b3V0LnNjc3MiLCJfbGlua3Muc2NzcyIsIl9iZ21hcC5zY3NzIiwiX2xvZ28uc2NzcyIsIl9tZW51LnNjc3MiLCJfcmVzdW1lLnNjc3MiLCJfcHJvamVjdF92aWV3LnNjc3MiLCJfY29jb2VuLnNjc3MiLCJfZGltLnNjc3MiLCJfZGltMS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBRUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtBQUFtQjtFQUNuQjtBQUFnQzs7O0FBR2xDO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtBQUF5QjtFQUN6QjtBQUFXO0VBQ1g7QUFBbUI7OztBQUdyQjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7QUFBbUM7RUFDbkM7QUFBZ0I7OztBQUdsQjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0FBQXFCO0VBQ3JCO0FBQTRCO0VBQzVCO0FBQW1DOzs7QUFHckM7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0FBQW1DO0VBQ25DO0FBQWdCOzs7QUFHbEI7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJ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RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFNaEI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBSVI7RUFDSTs7O0FBSVI7RUFDSTs7O0FDM0hKO0VBQ0UiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBNaXhpbnNcblxuQG1peGluIHN0cmV0Y2goJG9mZnNldFRvcDogMCwgJG9mZnNldFJpZ2h0OiAwLCAkb2Zmc2V0Qm90dG9tOiAwLCAkb2Zmc2V0TGVmdDogMCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRvZmZzZXRUb3A7XG4gICAgcmlnaHQ6ICRvZmZzZXRSaWdodDtcbiAgICBib3R0b206ICRvZmZzZXRCb3R0b207XG4gICAgbGVmdDogJG9mZnNldExlZnQ7XG59XG5cbkBtaXhpbiBzY3JlZW5NZWRpdW0ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuTWVkaXVtKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbkBtaXhpbiBzY3JlZW5MYXJnZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHNjcmVlbkxhcmdlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gc2NyZWVuU21hbGwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuTWVkaXVtKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4vLyBIZWxwZXJzXG5cbi5mbGV4LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLmZsZXgtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uZmxleC0xIHtcbiAgICBmbGV4OiAxO1xufVxuLmZsZXgtMiB7XG4gICAgZmxleDogMjtcbn1cbi5mbGV4LTMge1xuICAgIGZsZXg6IDI7XG59XG4udGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuIiwiKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6ICRzaXRlQmdDb2xvcjtcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcbiAgICBmb250LWZhbWlseTogJ0JhcmxvdycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAkYmFzZUZvbnRTaXplO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDEsIGgyLCBoNCwgc3Ryb25nLCBiIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5oMSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbjogLjc1cmVtIDA7XG5cbiAgICAmLnNtYWxsZXIge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2NyZWVuTGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuXG4gICAgICAgICYuc21hbGxlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW46IC43NXJlbSAwO1xuXG4gICAgQGluY2x1ZGUgc2NyZWVuTGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxufVxuXG5oMSArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAtLjVyZW07XG59XG5cbmgzICsgaDEge1xuICAgIG1hcmdpbi10b3A6IC0uMjVyZW07XG59XG5cbnAgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW46IDEuNXJlbSAwO1xufVxuXG5oMyB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IGRhcmtlbigkdGV4dENvbG9yLCA1MCUpO1xuICAgIG1hcmdpbjogMXJlbSAwO1xuXG4gICAgQGluY2x1ZGUgc2NyZWVuU21hbGwge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJHRleHRDb2xvciwgMzAlKTtcbiAgICB9XG59XG5cbnAge1xuICAgIG1hcmdpbjogMS4yNXJlbSAwO1xufVxuXG51bCwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbmhyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAxcHQ7XG4gICAgYmFja2dyb3VuZDogJHRleHRDb2xvcjtcbiAgICBtYXJnaW46IDRyZW0gMDtcbiAgICBvcGFjaXR5OiAuNztcblxuICAgICYuc2hvcnQge1xuICAgICAgICB3aWR0aDogNnJlbTtcbiAgICB9XG59XG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4iLCIvLyBTY3JlZW4gd2lkdGhzIGZvciBtZWRpYSBxdWVyaWVzXG5cbiRzY3JlZW5NZWRpdW06IDc2N3B4O1xuJHNjcmVlbkxhcmdlOiA5OTJweDtcblxuXG4vLyBGb250IHNpemVzXG5cbiRiYXNlRm9udFNpemU6IDE2cHg7XG5cblxuLy8gQ29sb3JzXG5cbiRzaXRlQmdDb2xvcjogIzEyMTMxNDtcbiR0ZXh0Q29sb3I6ICNmZmY7XG5cblxuLy8gTGF5b3V0XG5cbiRzaWRlYmFyV2lkdGg6IDE0cmVtO1xuJHNpdGVMb2dvSGVpZ2h0OiA2cmVtO1xuJHNpZGViYXJNYXJnaW46IDMuNXJlbTtcbiRoZWFkZXJHcmFkaWVudEhlaWdodDogJHNpZGViYXJNYXJnaW4gKyA1O1xuJG1vYmlsZUhlYWRlckdyYWRpZW50SGVpZ2h0OiA2cmVtO1xuXG5cbi8vIFogaW5kZXhlc1xuXG4kYmdNYXBaOiAxO1xuJHJlc3VtZVN1YmhlYWRpbmdaOiAzO1xuJGhlYWRlckdyYWRpZW50WjogMjtcbiRzaWRlYmFyWjogNDtcbiRwcm9qZWN0Vmlld1o6IDU7XG4iLCIuaGVhZGVyLWdyYWRpZW50IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAkaGVhZGVyR3JhZGllbnRIZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNpdGVCZ0NvbG9yO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkc2l0ZUJnQ29sb3IgNzUlLCByZ2JhKCRzaXRlQmdDb2xvciwgMCkpO1xuICAgIHotaW5kZXg6ICRoZWFkZXJHcmFkaWVudFo7XG5cbiAgICBAaW5jbHVkZSBzY3JlZW5TbWFsbCB7XG4gICAgICAgIGhlaWdodDogJG1vYmlsZUhlYWRlckdyYWRpZW50SGVpZ2h0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNjcmVlbk1lZGl1bSB7XG4gICAgICAgICYubW9iaWxlLW9ubHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA1NXJlbTtcbiAgICBwYWRkaW5nOiAwIDJyZW0gMTJyZW0gMTRyZW07XG5cbiAgICAmLnJlc3VtZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNjcmVlblNtYWxsIHtcbiAgICAgICAgcGFkZGluZzogNXJlbSAxcmVtIDEycmVtO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgICAgJi5yZXN1bWUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhcnRpY2xlIHtcblxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkdGV4dENvbG9yLCAyMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ucGFnZS1zdWJoZWFkaW5nIHtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogJHNpZGViYXJNYXJnaW4gMCAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcblxuICAgICoge1xuICAgICAgICBtYXJnaW4tdG9wOiAuMjVyZW07XG4gICAgfVxuXG4gICAgJi5zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB6LWluZGV4OiAkcmVzdW1lU3ViaGVhZGluZ1o7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2NyZWVuU21hbGwge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICB9XG59XG5cbi5kaWFtb25kIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDUlO1xuICAgIHRvcDogMTUlO1xuICAgIG9wYWNpdHk6IC4wNztcbiAgICB6LWluZGV4OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgIEBpbmNsdWRlIHNjcmVlblNtYWxsIHtcbiAgICAgICAgcmlnaHQ6IC01JTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMzB2dztcbiAgICAgICAgaGVpZ2h0OiAzMHZ3O1xuICAgICAgICBib3JkZXI6IDJ2dyBzb2xpZCAkdGV4dENvbG9yO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJ2dztcblxuICAgICAgICBAaW5jbHVkZSBzY3JlZW5TbWFsbCB7XG4gICAgICAgICAgICB3aWR0aDogMzV2aDtcbiAgICAgICAgICAgIGhlaWdodDogMzV2aDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnZoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMyUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxufVxuIiwiYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHRleHRDb2xvcjtcblxuICAgICY6aG92ZXIsICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRleHRDb2xvcjtcbiAgICAgICAgY29sb3I6IGludmVydCgkdGV4dENvbG9yKTtcbiAgICB9XG59XG5cbi5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAuNXJlbSAwO1xuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblxuICAgICY6aG92ZXIsICYucHJlc3NlZCB7XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICR0ZXh0Q29sb3I7XG4gICAgICAgIGNvbG9yOiBpbnZlcnQoJHRleHRDb2xvcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG59XG4iLCIuYmctbWFwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAkc2lkZWJhck1hcmdpbiAqIDIuNTtcbiAgICBib3R0b206IDh2aDtcbiAgICB3aWR0aDogNzV2dztcbiAgICBtYXgtaGVpZ2h0OiA2MHZoO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzaXRlQmdDb2xvcjtcbiAgICAgICAgei1pbmRleDogJGJnTWFwWiArIDE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2NyZWVuTGFyZ2Uge1xuICAgICAgICBib3R0b206IDE1dmg7XG4gICAgICAgIHdpZHRoOiA3MnZ3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNjcmVlblNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICB0b3A6IDFweDsgLy8gaGFjayBmb3Igd2VpcmQgbWFwIGJlaGF2aW91clxuICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICYuYmx1cnJlZCB7XG4gICAgICAgIGZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOTMpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbiIsIi5zaXRlLWxvZ28ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogJHNpZGViYXJXaWR0aDtcbiAgICBtYXJnaW46ICRzaWRlYmFyTWFyZ2luIDAgMCAkc2lkZWJhck1hcmdpbjtcbiAgICB6LWluZGV4OiAkc2lkZWJhclo7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcblxuICAgICYuaGlkZGVuIHtcbiAgICAgICAgbGVmdDogLSRzaWRlYmFyV2lkdGggKiAxLjU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2NyZWVuTGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2NyZWVuU21hbGwge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAtM3JlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zaXRlLW1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogJHNpZGViYXJXaWR0aDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46ICRzaWRlYmFyTWFyZ2luICsgJHNpdGVMb2dvSGVpZ2h0IDAgMCAkc2lkZWJhck1hcmdpbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgei1pbmRleDogJHNpZGViYXJaO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAuYnRuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogLjVyZW0gMDtcbiAgICB9XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICAgIGxlZnQ6IC0kc2lkZWJhcldpZHRoICogMS41O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNjcmVlblNtYWxsIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHNpdGVCZ0NvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkc2l0ZUJnQ29sb3IsIDApLCAkc2l0ZUJnQ29sb3IgMjUlKTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6ICRtb2JpbGVIZWFkZXJHcmFkaWVudEhlaWdodDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAtJG1vYmlsZUhlYWRlckdyYWRpZW50SGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnJlc3VtZS1pdGVtLXN1bW1hcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDNyZW0gMCA4cmVtIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmJ0biB7XG4gICAgICAgIG9wYWNpdHk6IC40O1xuICAgIH1cblxuICAgICY6aG92ZXIgLmJ0biB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoZWFkZXIge1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuTWVkaXVtIHtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIC41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlblNtYWxsIHtcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IC4yNXJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tbm9saW5rIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICYuLXByb2plY3QtcGFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZmxleDogMztcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlblNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHNjcmVlblNtYWxsIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgNXJlbSAwO1xuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9qZWN0LXZpZXctY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB6LWluZGV4OiAkcHJvamVjdFZpZXdaO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDZ2aDtcbiAgICAgICAgcmlnaHQ6IDh2dztcbiAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHNpdGVCZ0NvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRleHRDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgZmlsdGVyOiBpbnZlcnQoMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzY3JlZW5TbWFsbCB7XG4gICAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2plY3QtdmlldyB7XG4gICAgQGluY2x1ZGUgc3RyZXRjaDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAucGFnZS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDJyZW0gMTByZW07XG5cbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuU21hbGwge1xuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAxcmVtIDEwcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvamVjdC1nYWxsZXJ5IHtcbiAgICBtYXJnaW46IDJyZW0gLS41cmVtIDNyZW07XG5cbiAgICAucm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBzY3JlZW5NZWRpdW0ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogLjVyZW0gLjVyZW0gM3JlbTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvY29lbiBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkc2l0ZUJnQ29sb3IsIDE1JSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAycmVtO1xuICAgICAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY29jb2VuIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICoge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG5cbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICBpbWcsXG4gIHBpY3R1cmUgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gID4gaW1nLFxuICA+IHBpY3R1cmUgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiBkaXYge1xuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgcGljdHVyZSAmIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cblxuICAmLWRyYWcge1xuICAgIGJhY2tncm91bmQ6ICR0ZXh0Q29sb3I7XG4gICAgYm90dG9tOiAwO1xuICAgIGN1cnNvcjogZXctcmVzaXplO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0cHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9idG4tYXJyb3dzLnBuZycpIGNlbnRlciBuby1yZXBlYXQgJHNpdGVCZ0NvbG9yO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1NSU7XG4gICAgICB3aWR0aDogNDRweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4ICR0ZXh0Q29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgIH1cblxuICAgICY6aG92ZXI6YmVmb3JlLCAmOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBmaWx0ZXI6IGludmVydCgxMDAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cbiAgfVxufVxuIiwiLmRpbSB7XG4gIHdpZHRoOiAxMDAwcHg7XG4gIGhlaWdodDogMzIwcHg7XG4gIG1hcmdpbjogMTByZW0gYXV0bztcbiAgYmFja2dyb3VuZDogIzFjMWMxYztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGltLWlzbGFuZCB7XG4gICAgcGFkZGluZzogNTBweCAyMHB4IDAgMjBweDtcblxuICAgIHAge1xuICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiA3cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogN3JlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYubGVmdCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLmRpbS1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICMyMjI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xuXG4gICAgJi5yaWdodCB7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgICYubGVmdCB7XG4gICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgfVxuXG4gICAgJi53aWRlIHtcbiAgICAgICAgd2lkdGg6IDQyMHB4O1xuICAgIH1cbn1cblxuLmRpbS1tZW51LWxpc3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogLTI0MHB4O1xuICAgIGJhY2tncm91bmQ6ICMyMjI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xuXG4gICAgJi5waG9uZS1jYWxsIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG5cbiAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICB3aWR0aDogNjBweDtcblxuICAgICAgICAgICAgLnBob25lLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2FsbC1hY3RpdmUge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG5cbiAgICAgICAgICAgIC5waG9uZS1idXR0b25zIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaW0tbWVudS1pdGVtIHtcbiAgICBwYWRkaW5nOiAuOHJlbSAxcmVtO1xuXG4gICAgJi5ncmlkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYudG9wIHtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgbGVmdDogODBweDtcbiAgICAgICAgfVxuICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgIHRvcDogODBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIHRvcDogODBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgfVxufVxuXG4uaXMtdmlzaWJsZSB7XG4gICAgcmlnaHQ6IDA7XG59XG4iLCIuZGltLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMjAwcHg7XG59XG4iXX0= */