/* normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
 */

html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */

article,
aside,
details, /* 1 */
figcaption,
figure,
footer,
header,
main, /* 2 */
menu,
nav,
section,
summary { /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */

template, /* 1 */
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */

a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * 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;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ffd700;
  color: #000;
}

/**
 * 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;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 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 */
}

/* Forms
   ========================================================================== */

/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */

optgroup {
  font-weight: bold;
}

/**
 * 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;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * 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;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 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 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

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 and cancel buttons in Chrome and Safari on OS X.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 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 */
}

html,
body {
  overflow-x: hidden;
}

body {
  line-height: 1.5;
  min-height: 100%; /* For sticky footer */
  color: #333;
  font-family: "Open Sans", helvetica, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dd,
p,
figure,
pre,
table,
fieldset,
hr {
  margin-top: 0;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #111;
  line-height: 1;
}

a,
a:visited {
  color: #357edd;
}

a { text-decoration: none; }

a:hover { text-decoration: underline; }

ul {
  list-style-type: none;
  padding-left: 0;
}

li {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4'><rect fill='%23999' x='0' y='0' width='4' height='4' /></svg>") no-repeat;
  background-position: .45em .65em;
  padding-left: 1.3em;
}

.list li {
    padding-left: 0;
    background: none;
  }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.audible {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding:0 !important;
  border:0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

body:hover .audible a,
  body:hover .audible input,
  body:hover .audible button {
    display: none !important;
  }

.L-container {
  max-width: 30em;
  margin: auto;
  padding: 0 8px;
  padding: 0 .5rem
}

@media screen and (min-width: 37.5em) {

  .L-container {
    max-width: 60em;
    padding: 0 1rem;
  }
  }

@media screen and (min-width: 75em) {

  .L-container {
    max-width: 90em;
    padding: 0 2rem;
  }
  }

.L-container--large {
}

@media screen and (min-width: 37.5em) {

  .L-container--large {
    max-width: 90em;
    padding: 0 1rem;
  }
  }

.L-2-cols-l {
}

@media screen and (min-width: 75em) {

  .L-2-cols-l {
    -webkit-column-count: 2;
            column-count: 2;
  }
  }

.full-width {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.Page-title {
  font-size: 32px;
  font-size: 2rem;
}

@media (min-width:37.5em) {

  .Page-title {
    font-size: 4rem;
  }
}

@media (min-width:37.5em) and (max-width:75em) {

  .Page-title {
    font-size: calc(2rem + (4 - 2) * ( (100vw - 37.5em) / ( 75 - 37.5)));
  }
}

@media (min-width:600px) {

  .Page-title {
    font-size: 64px;
  }
}

@media (min-width:600px) and (max-width:1200px) {

  .Page-title {
    font-size: calc(32px + (64 - 32) * ( (100vw - 600px) / ( 1200 - 600)));
  }
}

.title-fancy {
  text-align: center;
  position: relative;
  padding: 0 1.2em;
  display: inline-block;
}

.title-fancy:before,
.title-fancy:after {
  position: absolute;
  height: 0;
  line-height: 0;
  top: 50%;
  content: "—" ;
}

.title-fancy:before {
  left: 0;
}

.title-fancy:after {
  right: 0;
}

.Page-headerImg-caption {
  position: absolute;
  right: 16px;
  right: 1rem;
  bottom: 0;
  z-index: 1;
  color: #fff;
}

.Group-logo--compact {
  width: 80px;
  width: 5rem;
}

.Property-logo--compact {
  width: 112px;
  width: 7rem
}

@media screen and (min-width: 37.5em) {

  .Property-logo--compact {
    width: 10rem;
  }
  }

.brand-font {
  font-family: "Open Sans", Helvetica, sans-serif ;
}

.title {
  font-weight: 300;
  font-family: "Open Sans", Helvetica, sans-serif;
  font-style: italic;
}

.logo-height {
  height: 48px;
  height: 3rem;
  width: auto;
  padding: 8px 0;
  padding: 0.5rem 0;
  box-sizing: border-box

}

@media screen and (min-width: 37.5em) {

  .logo-height {
    height: 4rem;
  }
  }

@media screen and (min-width: 75em) {

  .logo-height {
    height: 4.5rem;
    padding: 0.75rem 0;
  }
  }

.logo-home {
  z-index: 1;
  position: relative;
  margin-top: -84.8px;
  margin-top: -5.3rem;
  width: 176px;
  width: 11rem
}

@media screen and (min-width: 37.5em) {

  .logo-home {
    margin-top: -7.6rem;
    width: 17rem;
  }
  }

.ctaBlog {
  position: relative;
  z-index: 1;
  color: #fff !important;
}

.ctaBlog:visited {
  color: #fff;
}

.ctaBlog:before {
  content: "";
  z-index: -1;
  background-color: #244B5A;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}

@media screen and (min-width: 63.75em) {
  .ctaBlog:before {
    top: -0.6rem;
    bottom: -0.7rem;
  }
}

.ctaBlog--footer:before {
  top: 0;
  bottom: 0;
}

.breadcrumbs {
  margin: 0;
}

.breadcrumbs li {
  background: none;
  paddin: 0;
  display: inline-block;
  list-style-type: none;
}

.breadcrumbs li:after {
  content: "»";
  color: #fff;
}

.scrim-fromBottom,
.scrim-fromTop {
  position: relative;
}

.scrim-fromTop:after,
.scrim-fromBottom:after {
  content: "";
  display: block;
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.scrim-fromBottom:after {
  background: linear-gradient(to top, hsla(0, 0%, 0%, 0.8) 0%, hsla(0, 0%, 0%, 0.733) 5.3%, hsla(0, 0%, 0%, 0.667) 10.6%, hsla(0, 0%, 0%, 0.602) 15.9%, hsla(0, 0%, 0%, 0.537) 21.3%, hsla(0, 0%, 0%, 0.473) 26.8%, hsla(0, 0%, 0%, 0.409) 32.5%, hsla(0, 0%, 0%, 0.346) 38.4%, hsla(0, 0%, 0%, 0.285) 44.5%, hsla(0, 0%, 0%, 0.226) 50.9%, hsla(0, 0%, 0%, 0.17) 57.7%, hsla(0, 0%, 0%, 0.118) 65%, hsla(0, 0%, 0%, 0.071) 72.9%, hsla(0, 0%, 0%, 0.034) 81.4%, hsla(0, 0%, 0%, 0.009) 90.6%, hsla(0, 0%, 0%, 0) 100%);
  /*background: ease-out-quad-gradient(
    to top,
    var(--black-90),
    transparent
  );*/
  /*background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .2) 60%, rgba(0, 0, 0, .9) 100%);*/
}

.scrim-fromTop:after {
  background: linear-gradient(to bottom, hsla(0, 0%, 0%, 0.8) 0%, hsla(0, 0%, 0%, 0.73) 4.5%, hsla(0, 0%, 0%, 0.66) 9.2%, hsla(0, 0%, 0%, 0.59) 14.1%, hsla(0, 0%, 0%, 0.522) 19.2%, hsla(0, 0%, 0%, 0.456) 24.5%, hsla(0, 0%, 0%, 0.391) 30.1%, hsla(0, 0%, 0%, 0.328) 36%, hsla(0, 0%, 0%, 0.266) 42.3%, hsla(0, 0%, 0%, 0.208) 49%, hsla(0, 0%, 0%, 0.153) 56.2%, hsla(0, 0%, 0%, 0.104) 63.9%, hsla(0, 0%, 0%, 0.062) 72.2%, hsla(0, 0%, 0%, 0.029) 81.1%, hsla(0, 0%, 0%, 0.007) 90.6%, hsla(0, 0%, 0%, 0) 100%);
  /*background: linear-gradient(to top, rgba(0,0,0,0) 60%, rgba(0,0,0,0.5) 100%);*/
}

.backdrop-filer {
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}

.caption {
  text-transform: uppercase;
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
  margin-top: 8px;
  margin-top: .5rem;
}

.caption-onImg {
  padding: 32px 8px 4px;
  padding: 2rem 0.5rem 0.25rem;
  width: 100%;
  text-align: right;
  color: white;
  position: absolute;
  bottom: 0;
  right: 0;
  background: linear-gradient(to top, hsla(0, 0%, 0%, 0.5) 0%, hsla(0, 0%, 0%, 0.458) 5.3%, hsla(0, 0%, 0%, 0.417) 10.6%, hsla(0, 0%, 0%, 0.376) 15.9%, hsla(0, 0%, 0%, 0.336) 21.3%, hsla(0, 0%, 0%, 0.296) 26.8%, hsla(0, 0%, 0%, 0.256) 32.5%, hsla(0, 0%, 0%, 0.216) 38.4%, hsla(0, 0%, 0%, 0.178) 44.5%, hsla(0, 0%, 0%, 0.141) 50.9%, hsla(0, 0%, 0%, 0.106) 57.7%, hsla(0, 0%, 0%, 0.074) 65%, hsla(0, 0%, 0%, 0.045) 72.9%, hsla(0, 0%, 0%, 0.021) 81.4%, hsla(0, 0%, 0%, 0.005) 90.6%, hsla(0, 0%, 0%, 0) 100%);
}

.hamburger {
  background-position: 85% 56%;
  background-repeat: no-repeat;
}

.hamburger-white {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDEyIDEwIj48cGF0aCBmaWxsPSIjRkZGIiBkPSJNMCAwaDEydjJIMHpNMCA0aDEydjJIMHpNMCA4aDEydjJIMHoiLz48L3N2Zz4=");
}

.hamburger-gray {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDEyIDEwIj48cGF0aCBmaWxsPSIjOTk5IiBkPSJNMCAwaDEydjJIMHpNMCA0aDEydjJIMHpNMCA4aDEydjJIMHoiLz48L3N2Zz4=");
}

.social-nav svg {
  fill: #fff;
}

.property-footer,
.property-footer a {
  color: #fff !important;
}

.btn {
  display: inline-block;
  text-decoration: none;
  border-radius: 9999px;
  padding: 4px 8px;
  padding: .25rem .5rem;
  font-size: 14px;
  font-size: 0.875rem;
}

.btn:hover {
  text-decoration: none;
  background-color: transparent;
}

.btn--medium {
  padding: 8px 16px;
  padding: .5rem 1rem;
  text-transform: uppercase;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}

.btn--large {
  text-transform: uppercase;
  padding: 16px 32px;
  padding: 1rem 2rem;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

/*
  brand-color
  ba
  b--brand-color
  bw1
  hover-bg-brand-color
  hover-white
  fw6
  bg-animate
*/

/**
 * Swiper 3.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 *
 * http://www.idangero.us/swiper/
 *
 * Copyright 2016, Vladimir Kharlampidi
 * The iDangero.us
 * http://www.idangero.us/
 *
 * Licensed under MIT
 *
 * Released on: December 13, 2016
 */

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
}

/* Auto Height */

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

/* a11y */

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

/* IE10 Windows Phone 8 Fixes */

.swiper-wp8-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

/* Arrows */

/*.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 27px 44px;
  -webkit-background-size: 27px 44px;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}
.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}
.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}*/

/* Pagination Styles */

/*.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms;
  -moz-transition: 300ms;
  -o-transition: 300ms;
  transition: 300ms;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}*/

/* Common Styles */

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  /*width: 100%;*/
}

/* Bullets */

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-white .swiper-pagination-bullet {
  background: #fff;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 5px 0;
  display: block;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px;
}

/* Progress */

.swiper-pagination-progress {
  background: rgba(0, 0, 0, .25);
  position: absolute;
}

.swiper-pagination-progress .swiper-pagination-progressbar {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar {
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progress {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-vertical > .swiper-pagination-progress {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-progress.swiper-pagination-white {
  background: rgba(255, 255, 255, .5);
}

.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar {
  background: #fff;
}

.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar {
  background: #000;
}

/* 3D Container */

.swiper-container-3d {
  -webkit-perspective: 1200px;
  -o-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-right {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-top {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  /* Firefox 16+, IE10, Opera 12.50+ */
}

/* Coverflow */

.swiper-container-coverflow .swiper-wrapper,
.swiper-container-flip .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px;
}

/* Cube + Flip */

.swiper-container-cube,
.swiper-container-flip {
  overflow: visible;
}

.swiper-container-cube .swiper-slide,
.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-cube .swiper-slide .swiper-slide,
.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-flip .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Cube */

.swiper-container-cube .swiper-slide {
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="50" /></filter></svg>#filter');
  filter: blur(50px);
  z-index: 0;
}

/* Fade */

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Scrollbar */

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, .1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, .5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

/* Preloader */

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */

/*
  Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/

/* pswp = photoswipe */

.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }

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

.pswp img {
    max-width: none; }

/* style is added when JS option showHideOpacity is set to true */

.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--open {
  display: block; }

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }

/*
  Background is added as a separate element.
  As animating opacity is much faster than animating rgba() background-color.
*/

.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }

/* Prevent selection and tap highlights */

.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1), -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none; }

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }

/*
  stretched thumbnail or div placeholder element (see below)
  style is added to avoid flickering in webkit/blink when layers overlap
*/

.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }

/*
  div element that matches size of large image
  large image loads on top of it
*/

.pswp__img--placeholder--blank {
  background: #222; }

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }

/*
  Error message appears when image is not loaded
  (JS option errorMsg controls markup)
*/

.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC; }

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline; }

/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */

/*

  Contents:

  1. Buttons
  2. Share modal and links
  3. Index indicator ("1 of X" counter)
  4. Caption
  5. Loading indicator
  6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/

/*
  
  1. Buttons

 */

/* <button> css reset */

.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: opacity 0.2s;
  box-shadow: none; }

.pswp__button:focus,
  .pswp__button:hover {
    opacity: 1; }

.pswp__button:active {
    outline: none;
    opacity: 0.9; }

.pswp__button::-moz-focus-inner {
    padding: 0;
    border: 0; }

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */

.pswp__ui--over-close .pswp__button--close {
  opacity: 1; }

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(default-skin.html) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px; }

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(default-skin-2.html); }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none; } }

.pswp__button--close {
  background-position: 0 -44px; }

.pswp__button--share {
  background-position: -44px -44px; }

.pswp__button--fs {
  display: none; }

.pswp--supports-fs .pswp__button--fs {
  display: block; }

.pswp--fs .pswp__button--fs {
  background-position: -44px 0; }

.pswp__button--zoom {
  display: none;
  background-position: -88px 0; }

.pswp--zoom-allowed .pswp__button--zoom {
  display: block; }

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0; }

/* no arrows on touch screens */

.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden; }

/*
  Arrow buttons hit area
  (icon is added to :before pseudo-element)
*/

.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute; }

.pswp__button--arrow--left {
  left: 0; }

.pswp__button--arrow--right {
  right: 0; }

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: '';
  top: 35px;
  background-color: rgba(0, 0, 0, .3);
  height: 30px;
  width: 32px;
  position: absolute; }

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px; }

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px; }

/*

  2. Share modal/popup and links

 */

.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, .5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__share-modal--hidden {
  display: none; }

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
  -webkit-transform: translateY(6px);
          transform: translateY(6px);
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform; }

.pswp__share-tooltip a {
    display: block;
    padding: 8px 12px;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    line-height: 18px; }

.pswp__share-tooltip a:hover {
      text-decoration: none;
      color: #000; }

.pswp__share-tooltip a:first-child {
      /* round corners on the first/last list item */
      border-radius: 2px 2px 0 0; }

.pswp__share-tooltip a:last-child {
      border-radius: 0 0 2px 2px; }

.pswp__share-modal--fade-in {
  opacity: 1; }

.pswp__share-modal--fade-in .pswp__share-tooltip {
    -webkit-transform: translateY(0);
            transform: translateY(0); }

/* increase size of share links on touch devices */

.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px; }

a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none; }

a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF; }

a.pswp__share--facebook:hover:before {
    border-bottom-color: #3E5C9A; }

a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF; }

a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D; }

a.pswp__share--download:hover {
  background: #DDD; }

/*

  3. Index indicator ("1 of X" counter)

 */

.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #FFF;
  opacity: 0.75;
  padding: 0 10px; }

/*
  
  4. Caption

 */

.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px; }

.pswp__caption small {
    font-size: 11px;
    color: #BBB; }

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC; }

.pswp__caption--empty {
  display: none; }

/* Fake caption element, used to calculate height of next/prev image */

.pswp__caption--fake {
  visibility: hidden; }

/*

  5. Loading indicator (preloader)

  You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */

.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr; }

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px; }

.pswp__preloader--active {
  opacity: 1; }

.pswp__preloader--active .pswp__preloader__icn {
    /* We use .gif in browsers that don't support CSS animation */
    background: url(preloader.html) 0 0 no-repeat; }

.pswp--css_animation .pswp__preloader--active {
  opacity: 1; }

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
    -webkit-animation: clockwise 500ms linear infinite;
            animation: clockwise 500ms linear infinite; }

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
    -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
            animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0; }

.pswp--css_animation .pswp__preloader__cut {
  /* 
      The idea of animating inner circle is based on Polymer ("material") loading indicator 
       by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
    */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden; }

.pswp--css_animation .pswp__preloader__donut {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0; }

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right; } }

@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  50% {
    -webkit-transform: rotate(-140deg);
            transform: rotate(-140deg); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  50% {
    -webkit-transform: rotate(-140deg);
            transform: rotate(-140deg); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

/*
  
  6. Additional styles

 */

/* root element of UI */

.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550; }

/* top black bar with buttons and "1 of X" indicator */

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%; }

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */

.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible; }

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, .5); }

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */

.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, .3); }

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */

.pswp__ui--idle .pswp__top-bar {
  opacity: 0; }

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0; }

/*
  pswp__ui--hidden class is added when controls are hidden
  e.g. when user taps to toggle visibility of controls
*/

.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001; }

/* pswp__ui--one-slide class is added when there is just one item in gallery */

.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none; }

.pswp__element--disabled {
  display: none !important; }

.pswp--minimal--dark .pswp__top-bar {
  background: none; }

/* Accessible dialog
   ========================================================================== */

/*.dialog[aria-hidden="true"] {
  display: none;
}

.dialog-wrapper,
.dialog-overlay {
  z-index: 2;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.dialog-content {
  z-index: 3;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 1rem;
}*/

.dialog[aria-hidden="true"] {
    display: none;
  }

.dialog-overlay {
    z-index: 999;
    background-color: rgba(0, 0, 0, .8);
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }

.dialog-content {
    z-index: 999;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }

.dialog-content-inner {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 24px;
    padding: 1.5rem;
  }

.dialog-close-button {
    position: absolute;
    top: 8px;
    top: 0.5rem;
    right: 8px;
    right: 0.5rem;
    padding: 4px;
    padding: 0.25rem;
    border-color: white;
    border-radius: 100%;
    border-style: solid;
    height: 32px;
    height: 2rem; 
    width: 32px; 
    width: 2rem;
    line-height: 16px;
    line-height: 1rem;
    text-align: center;
    background-color: black;
    color: white;
    z-index: 2;
    font-weight: 800;
  }

#streetView {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
  }

.swiper-button-prev.v-centered,
.swiper-button-next.v-centered {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.swiper-pagination-bullets,
.swiper-pagination-bullet {
  margin: 3px 5px;
}

/*.swiper-button-disabled {}

.swiper-button-prev,
.swiper-button-next {
  width: 3rem !important;
  height: 3rem !important;
  background-size: 1rem 1.5rem !important;
  transform: translateY(-80%);
  margin: 0 !important;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.15;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 0 !important;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 0 !important;
}

.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 1rem !important;
  right: 0 !important;
  left: auto !important;
  width: auto !important;
  background-color: #fff !important;
}
.swiper-button-next {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy45MTYiIGhlaWdodD0iMjEuMzk2IiB2aWV3Qm94PSIwIDAgMTMuOTE2IDIxLjM5NiI+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIuNzgyIDIwLjEyTC42NjIgMThsNy44NDctNy44NDctNy44NS03Ljg1TDIuNzg0LjE4M2w5Ljk2OCA5Ljk3Ii8+PC9zdmc+") !important;
  background-repeat: no-repeat;
}

.swiper-button-prev {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy45MTYiIGhlaWdodD0iMjEuMzk2IiB2aWV3Qm94PSIwIDAgMTMuOTE2IDIxLjM5NiI+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTEwLjYzLjE4MmwyLjEyIDIuMTItNy44NDcgNy44NDdMMTIuNzUgMThsLTIuMTIgMi4xMkwuNjYgMTAuMTUiLz48L3N2Zz4=") !important;
  background-repeat: no-repeat;
}

.swiper-pagination-bullet-active {
  background: var(--dark-gray) !important;
}
*/

@media screen and (min-width: 75em) {
  .bullet-after-l:after {
     content: "•";
     display: inline-block;
     margin: 0 .5rem;
  }
}

.linkBlock {
  border: 1px solid #fff;
}

.linkBlock:hover {
  border-color: #eee;
}

.linkBlock:hover {
  text-decoration: none;
}

.link:hover {
  text-decoration: none;
}

.video iframe {
  width: 100%;
  height: 100%;
}

.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
/*margin-left: calc(-50vw + 50%);/**/
  /*margin-right: calc(-50vw + 50%);*/
}

/*! TACHYONS v4.5.5 | http://tachyons.io */

/*
 *
 *      ________            ______
 *      ___  __/_____ _________  /______  ______________________
 *      __  /  _  __ `/  ___/_  __ \_  / / /  __ \_  __ \_  ___/
 *      _  /   / /_/ // /__ _  / / /  /_/ // /_/ /  / / /(__  )
 *      /_/    \__,_/ \___/ /_/ /_/_\__, / \____//_/ /_//____/
 *                                 /____/
 *
 *    TABLE OF CONTENTS
 *
 *    1. External Library Includes
 *       - Normalize.css | http://normalize.css.github.io
 *    2. Tachyons Modules
 *    3. Variables
 *       - Media Queries
 *       - Colors
 *    4. Debugging
 *       - Debug all
 *       - Debug children
 *
 */

/* External Library Includes */

/* @import './_normalize'; */

/* Modules */

/*
 
  BOX SIZING

*/

html,
body,
div,
article,
section,
main,
footer,
header,
form,
fieldset,
pre,
code,
p,
ul,
ol,
li,
dl,
dt,
dd,
textarea,
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="text"],
input[type="url"],
.border-box {
  box-sizing: border-box;
}

/*

   IMAGES
   Docs: http://tachyons.io/docs/elements/images/

*/

/* Responsive images! */

img { max-width: 100%; }

/*

   BACKGROUND SIZE
   Docs: http://tachyons.io/docs/themes/background-size/

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

/*
  Often used in combination with background image set as an inline style
  on an html element.
*/

.cover { background-size: cover!important; }

.contain { background-size: contain!important; }

@media screen and (min-width: 37.5em) {
  .cover-ns { background-size: cover!important; }
  .contain-ns { background-size: contain!important; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .cover-m { background-size: cover!important; }
  .contain-m { background-size: contain!important; }
}

@media screen and (min-width: 75em) {
  .cover-l { background-size: cover!important; }
  .contain-l { background-size: contain!important; }
}

/*

    BACKGROUND POSITION

    Base:
    bg = background

    Modifiers:
    -center = center center
    -top = top center
    -right = center right
    -bottom = bottom center
    -left = center left

    Media Query Extensions:
      -ns = not-small
      -m  = medium
      -l  = large

 */

.bg-center { 
  background-repeat: no-repeat;
  background-position: center center; 
}

.bg-top {    
  background-repeat: no-repeat; 
  background-position: top center;    
}

.bg-right {  
  background-repeat: no-repeat; 
  background-position: center right;  
}

.bg-bottom { 
  background-repeat: no-repeat; 
  background-position: bottom center; 
}

.bg-left {   
  background-repeat: no-repeat; 
  background-position: center left;   
}

@media screen and (min-width: 37.5em) {
  .bg-center-ns { 
    background-repeat: no-repeat;
    background-position: center center; 
  }

  .bg-top-ns {    
    background-repeat: no-repeat; 
    background-position: top center;    
  }

  .bg-right-ns {  
    background-repeat: no-repeat; 
    background-position: center right;  
  }

  .bg-bottom-ns { 
    background-repeat: no-repeat; 
    background-position: bottom center; 
  }

  .bg-left-ns {   
    background-repeat: no-repeat; 
    background-position: center left;   
  }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .bg-center-m { 
    background-repeat: no-repeat;
    background-position: center center; 
  }

  .bg-top-m {    
    background-repeat: no-repeat; 
    background-position: top center;    
  }

  .bg-right-m {  
    background-repeat: no-repeat; 
    background-position: center right;  
  }

  .bg-bottom-m { 
    background-repeat: no-repeat; 
    background-position: bottom center; 
  }

  .bg-left-m {   
    background-repeat: no-repeat; 
    background-position: center left;   
  }
}

@media screen and (min-width: 75em) {
  .bg-center-l { 
    background-repeat: no-repeat;
    background-position: center center; 
  }

  .bg-top-l {    
    background-repeat: no-repeat; 
    background-position: top center;    
  }

  .bg-right-l {  
    background-repeat: no-repeat; 
    background-position: center right;  
  }

  .bg-bottom-l { 
    background-repeat: no-repeat; 
    background-position: bottom center; 
  }

  .bg-left-l {   
    background-repeat: no-repeat; 
    background-position: center left;   
  }
}

/*

   OUTLINES

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.outline { outline: 1px solid; }

.outline-transparent { outline: 1px solid transparent; }

.outline-0 { outline: 0; }

@media screen and (min-width: 37.5em) {
  .outline-ns { outline: 1px solid; }
  .outline-transparent-ns { outline: 1px solid transparent; }
  .outline-0-ns { outline: 0; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .outline-m { outline: 1px solid; }
  .outline-transparent-m { outline: 1px solid transparent; }
  .outline-0-m { outline: 0; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .outline-l { outline: 1px solid; }
  .outline-transparent-l { outline: 1px solid transparent; }
  .outline-0-l { outline: 0; }
}

/*

    BORDERS
    Docs: http://tachyons.io/docs/themes/borders/

    Base:
      b = border

    Modifiers:
      a = all
      t = top
      r = right
      b = bottom
      l = left
      n = none

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.ba { border-style: solid; border-width: 1px; }

.bt { border-top-style: solid; border-top-width: 1px; }

.br { border-right-style: solid; border-right-width: 1px; }

.bb { border-bottom-style: solid; border-bottom-width: 1px; }

.bl { border-left-style: solid; border-left-width: 1px; }

.bn { border-style: none; border-width: 0; }

@media screen and (min-width: 37.5em) {
  .ba-ns { border-style: solid; border-width: 1px; }
  .bt-ns { border-top-style: solid; border-top-width: 1px; }
  .br-ns { border-right-style: solid; border-right-width: 1px; }
  .bb-ns { border-bottom-style: solid; border-bottom-width: 1px; }
  .bl-ns { border-left-style: solid; border-left-width: 1px; }
  .bn-ns { border-style: none; border-width: 0; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .ba-m { border-style: solid; border-width: 1px; }
  .bt-m { border-top-style: solid; border-top-width: 1px; }
  .br-m { border-right-style: solid; border-right-width: 1px; }
  .bb-m { border-bottom-style: solid; border-bottom-width: 1px; }
  .bl-m { border-left-style: solid; border-left-width: 1px; }
  .bn-m { border-style: none; border-width: 0; }
}

@media screen and (min-width: 75em) {
  .ba-l { border-style: solid; border-width: 1px; }
  .bt-l { border-top-style: solid; border-top-width: 1px; }
  .br-l { border-right-style: solid; border-right-width: 1px; }
  .bb-l { border-bottom-style: solid; border-bottom-width: 1px; }
  .bl-l { border-left-style: solid; border-left-width: 1px; }
  .bn-l { border-style: none; border-width: 0; }
}

/*

   BORDER COLORS
   Docs: http://tachyons.io/docs/themes/borders/

   Border colors can be used to extend the base
   border classes ba,bt,bb,br,bl found in the _borders.css file.

   The base border class by default will set the color of the border
   to that of the current text color. These classes are for the cases
   where you desire for the text and border colors to be different.

   Base:
     b = border

   Modifiers:
   --color-name = each color variable name is also a border color name

*/

.b--black {        border-color: #000; }

.b--near-black {   border-color: #111; }

.b--dark-gray {    border-color: #333; }

.b--mid-gray {     border-color: #555; }

.b--gray {         border-color: #777; }

.b--silver {       border-color: #999; }

.b--light-silver { border-color: #aaa; }

.b--light-gray {   border-color: #eee; }

.b--near-white {   border-color: #f4f4f4; }

.b--white {        border-color: #fff; }

.b--white-90 {   border-color: rgba(255, 255, 255, .9); }

.b--white-80 {   border-color: rgba(255, 255, 255, .8); }

.b--white-70 {   border-color: rgba(255, 255, 255, .7); }

.b--white-60 {   border-color: rgba(255, 255, 255, .6); }

.b--white-50 {   border-color: rgba(255, 255, 255, .5); }

.b--white-40 {   border-color: rgba(255, 255, 255, .4); }

.b--white-30 {   border-color: rgba(255, 255, 255, .3); }

.b--white-20 {   border-color: rgba(255, 255, 255, .2); }

.b--white-10 {   border-color: rgba(255, 255, 255, .1); }

.b--white-05 {   border-color: rgba(255, 255, 255, .05); }

.b--white-025 {   border-color: rgba(255, 255, 255, .025); }

.b--white-0125 {   border-color: rgba(255, 255, 255, .0125); }

.b--black-90 {   border-color: rgba(0, 0, 0, .9); }

.b--black-80 {   border-color: rgba(0, 0, 0, .8); }

.b--black-70 {   border-color: rgba(0, 0, 0, .7); }

.b--black-60 {   border-color: rgba(0, 0, 0, .6); }

.b--black-50 {   border-color: rgba(0, 0, 0, .5); }

.b--black-40 {   border-color: rgba(0, 0, 0, .4); }

.b--black-30 {   border-color: rgba(0, 0, 0, .3); }

.b--black-20 {   border-color: rgba(0, 0, 0, .2); }

.b--black-10 {   border-color: rgba(0, 0, 0, .1); }

.b--black-05 {   border-color: rgba(0, 0, 0, .05); }

.b--black-025 {   border-color: rgba(0, 0, 0, .025); }

.b--black-0125 {   border-color: rgba(0, 0, 0, .0125); }

.b--dark-red { border-color: #e7040f; }

.b--red { border-color: #ff4136; }

.b--light-red { border-color: #ff725c; }

.b--orange { border-color: #ff6300; }

.b--gold { border-color: #ffb700; }

.b--yellow { border-color: #ffd700; }

.b--light-yellow { border-color: #fbf1a9; }

.b--purple { border-color: #5e2ca5; }

.b--light-purple { border-color: #a463f2; }

.b--dark-pink { border-color: #d5008f; }

.b--hot-pink { border-color: #ff41b4; }

.b--pink { border-color: #ff80cc; }

.b--light-pink { border-color: #ffa3d7; }

.b--dark-green { border-color: #137752; }

.b--green { border-color: #19a974; }

.b--light-green { border-color: #9eebcf; }

.b--navy { border-color: #001b44; }

.b--dark-blue { border-color: #00449e; }

.b--blue { border-color: #357edd; }

.b--light-blue { border-color: #96ccff; }

.b--lightest-blue { border-color: #cdecff; }

.b--washed-blue { border-color: #f6fffe; }

.b--washed-green { border-color: #e8fdf5; }

.b--washed-yellow { border-color: #fffceb; }

.b--washed-red { border-color: #ffdfdf; }

.b--transparent { border-color: transparent; }

/*

   BORDER RADIUS
   Docs: http://tachyons.io/docs/themes/border-radius/

   Base:
     br   = border-radius

   Modifiers:
     0    = 0/none
     1    = 1st step in scale
     2    = 2nd step in scale
     3    = 3rd step in scale
     4    = 4th step in scale

   Literal values:
     -100 = 100%
     -pill = 9999px

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.br0 {        border-radius: 0; }

.br1 {        border-radius: .125rem; }

.br2 {        border-radius: .25rem; }

.br3 {        border-radius: .5rem; }

.br4 {        border-radius: 1rem; }

.br-100 {     border-radius: 100%; }

.br-pill {    border-radius: 9999px; }

.br--bottom {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
  }

.br--top {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
  }

.br--right {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }

.br--left {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }

@media screen and (min-width: 37.5em) {
  .br0-ns {     border-radius: 0; }
  .br1-ns {     border-radius: .125rem; }
  .br2-ns {     border-radius: .25rem; }
  .br3-ns {     border-radius: .5rem; }
  .br4-ns {     border-radius: 1rem; }
  .br-100-ns {  border-radius: 100%; }
  .br-pill-ns { border-radius: 9999px; }
  .br--bottom-ns {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
  }
  .br--top-ns {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br--right-ns {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }
  .br--left-ns {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .br0-m {     border-radius: 0; }
  .br1-m {     border-radius: .125rem; }
  .br2-m {     border-radius: .25rem; }
  .br3-m {     border-radius: .5rem; }
  .br4-m {     border-radius: 1rem; }
  .br-100-m {  border-radius: 100%; }
  .br-pill-m { border-radius: 9999px; }
  .br--bottom-m {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
  }
  .br--top-m {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br--right-m {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }
  .br--left-m {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }
}

@media screen and (min-width: 75em) {
  .br0-l {     border-radius: 0; }
  .br1-l {     border-radius: .125rem; }
  .br2-l {     border-radius: .25rem; }
  .br3-l {     border-radius: .5rem; }
  .br4-l {     border-radius: 1rem; }
  .br-100-l {  border-radius: 100%; }
  .br-pill-l { border-radius: 9999px; }
  .br--bottom-l {
      border-radius-top-left: 0;
      border-radius-top-right: 0;
  }
  .br--top-l {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br--right-l {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }
  .br--left-l {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }
}

/*

   BORDER STYLES
   Docs: http://tachyons.io/docs/themes/borders/

   Depends on base border module in _borders.css

   Base:
     b = border-style

   Modifiers:
     --none   = none
     --dotted = dotted
     --dashed = dashed
     --solid  = solid

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

 */

.b--dotted { border-style: dotted; }

.b--dashed { border-style: dashed; }

.b--solid {  border-style: solid; }

.b--none {   border-style: none; }

@media screen and (min-width: 37.5em) {
  .b--dotted-ns { border-style: dotted; }
  .b--dashed-ns { border-style: dashed; }
  .b--solid-ns {  border-style: solid; }
  .b--none-ns {   border-style: none; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .b--dotted-m { border-style: dotted; }
  .b--dashed-m { border-style: dashed; }
  .b--solid-m {  border-style: solid; }
  .b--none-m {   border-style: none; }
}

@media screen and (min-width: 75em) {
  .b--dotted-l { border-style: dotted; }
  .b--dashed-l { border-style: dashed; }
  .b--solid-l {  border-style: solid; }
  .b--none-l {   border-style: none; }
}

/*

   BORDER WIDTHS
   Docs: http://tachyons.io/docs/themes/borders/

   Base:
     bw = border-width

   Modifiers:
     0 = 0 width border
     1 = 1st step in border-width scale
     2 = 2nd step in border-width scale
     3 = 3rd step in border-width scale
     4 = 4th step in border-width scale
     5 = 5th step in border-width scale

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.bw0 { border-width: 0; }

.bw1 { border-width: 2px; border-width: .125rem; }

.bw2 { border-width: 4px; border-width: .25rem; }

.bw3 { border-width: 8px; border-width: .5rem; }

.bw4 { border-width: 16px; border-width: 1rem; }

.bw5 { border-width: 32px; border-width: 2rem; }

/* Resets */

.bt-0 { border-top-width: 0; }

.br-0 { border-right-width: 0; }

.bb-0 { border-bottom-width: 0; }

.bl-0 { border-left-width: 0; }

@media screen and (min-width: 37.5em) {
  .bw0-ns { border-width: 0; }
  .bw1-ns { border-width: .125rem; }
  .bw2-ns { border-width: .25rem; }
  .bw3-ns { border-width: .5rem; }
  .bw4-ns { border-width: 1rem; }
  .bw5-ns { border-width: 2rem; }
  .bt-0-ns { border-top-width: 0; }
  .br-0-ns { border-right-width: 0; }
  .bb-0-ns { border-bottom-width: 0; }
  .bl-0-ns { border-left-width: 0; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .bw0-m { border-width: 0; }
  .bw1-m { border-width: .125rem; }
  .bw2-m { border-width: .25rem; }
  .bw3-m { border-width: .5rem; }
  .bw4-m { border-width: 1rem; }
  .bw5-m { border-width: 2rem; }
  .bt-0-m { border-top-width: 0; }
  .br-0-m { border-right-width: 0; }
  .bb-0-m { border-bottom-width: 0; }
  .bl-0-m { border-left-width: 0; }
}

@media screen and (min-width: 75em) {
  .bw0-l { border-width: 0; }
  .bw1-l { border-width: .125rem; }
  .bw2-l { border-width: .25rem; }
  .bw3-l { border-width: .5rem; }
  .bw4-l { border-width: 1rem; }
  .bw5-l { border-width: 2rem; }
  .bt-0-l { border-top-width: 0; }
  .br-0-l { border-right-width: 0; }
  .bb-0-l { border-bottom-width: 0; }
  .bl-0-l { border-left-width: 0; }
}

/*

  BOX-SHADOW
  Docs: http://tachyons.io/docs/themes/box-shadow/

  Media Query Extensions:
   -ns = not-small
   -m  = medium
   -l  = large

 */

.shadow-1 { box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); }

.shadow-2 { box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }

.shadow-3 { box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); }

.shadow-4 { box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); }

.shadow-5 { box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }

@media screen and (min-width: 37.5em) {
  .shadow-1-ns { box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); }
  .shadow-2-ns { box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }
  .shadow-3-ns { box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); }
  .shadow-4-ns { box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); }
  .shadow-5-ns { box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .shadow-1-m { box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); }
  .shadow-2-m { box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }
  .shadow-3-m { box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); }
  .shadow-4-m { box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); }
  .shadow-5-m { box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }
}

@media screen and (min-width: 75em) {
  .shadow-1-l { box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); }
  .shadow-2-l { box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }
  .shadow-3-l { box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); }
  .shadow-4-l { box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); }
  .shadow-5-l { box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }
}

/*

   CODE

*/

.pre {
  overflow-x: auto;
  overflow-y: hidden;
  overflow:   scroll;
}

/*

   COORDINATES
   Docs: http://tachyons.io/docs/layout/position/

   Use in combination with the position module.

   Base:
     top
     bottom
     right
     left

   Modifiers:
     -0  = literal value 0
     -1  = literal value 1
     -2  = literal value 2
     --1 = literal value -1
     --2 = literal value -2

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.top-0    { top:    0; }

.right-0  { right:  0; }

.bottom-0 { bottom: 0; }

.left-0   { left:   0; }

.top-1    { top: 16px; top:    1rem; }

.right-1  { right: 16px; right:  1rem; }

.bottom-1 { bottom: 16px; bottom: 1rem; }

.left-1   { left: 16px; left:   1rem; }

.top-2    { top: 32px; top:    2rem; }

.right-2  { right: 32px; right:  2rem; }

.bottom-2 { bottom: 32px; bottom: 2rem; }

.left-2   { left: 32px; left:   2rem; }

.top--1    { top: -16px; top:    -1rem; }

.right--1  { right: -16px; right:  -1rem; }

.bottom--1 { bottom: -16px; bottom: -1rem; }

.left--1   { left: -16px; left:   -1rem; }

.top--2    { top: -32px; top:    -2rem; }

.right--2  { right: -32px; right:  -2rem; }

.bottom--2 { bottom: -32px; bottom: -2rem; }

.left--2   { left: -32px; left:   -2rem; }

.absolute--fill {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

@media screen and (min-width: 37.5em) {
  .top-0-ns     { top:   0; }
  .left-0-ns    { left:  0; }
  .right-0-ns   { right: 0; }
  .bottom-0-ns  { bottom: 0; }
  .top-1-ns     { top:   1rem; }
  .left-1-ns    { left:  1rem; }
  .right-1-ns   { right: 1rem; }
  .bottom-1-ns  { bottom: 1rem; }
  .top-2-ns     { top:   2rem; }
  .left-2-ns    { left:  2rem; }
  .right-2-ns   { right: 2rem; }
  .bottom-2-ns  { bottom: 2rem; }
  .top--1-ns    { top:    -1rem; }
  .right--1-ns  { right:  -1rem; }
  .bottom--1-ns { bottom: -1rem; }
  .left--1-ns   { left:   -1rem; }
  .top--2-ns    { top:    -2rem; }
  .right--2-ns  { right:  -2rem; }
  .bottom--2-ns { bottom: -2rem; }
  .left--2-ns   { left:   -2rem; }
  .absolute--fill-ns {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .top-0-m     { top:   0; }
  .left-0-m    { left:  0; }
  .right-0-m   { right: 0; }
  .bottom-0-m  { bottom: 0; }
  .top-1-m     { top:   1rem; }
  .left-1-m    { left:  1rem; }
  .right-1-m   { right: 1rem; }
  .bottom-1-m  { bottom: 1rem; }
  .top-2-m     { top:   2rem; }
  .left-2-m    { left:  2rem; }
  .right-2-m   { right: 2rem; }
  .bottom-2-m  { bottom: 2rem; }
  .top--1-m    { top:    -1rem; }
  .right--1-m  { right:  -1rem; }
  .bottom--1-m { bottom: -1rem; }
  .left--1-m   { left:   -1rem; }
  .top--2-m    { top:    -2rem; }
  .right--2-m  { right:  -2rem; }
  .bottom--2-m { bottom: -2rem; }
  .left--2-m   { left:   -2rem; }
  .absolute--fill-m {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

@media screen and (min-width: 75em) {
  .top-0-l     { top:   0; }
  .left-0-l    { left:  0; }
  .right-0-l   { right: 0; }
  .bottom-0-l  { bottom: 0; }
  .top-1-l     { top:   1rem; }
  .left-1-l    { left:  1rem; }
  .right-1-l   { right: 1rem; }
  .bottom-1-l  { bottom: 1rem; }
  .top-2-l     { top:   2rem; }
  .left-2-l    { left:  2rem; }
  .right-2-l   { right: 2rem; }
  .bottom-2-l  { bottom: 2rem; }
  .top--1-l    { top:    -1rem; }
  .right--1-l  { right:  -1rem; }
  .bottom--1-l { bottom: -1rem; }
  .left--1-l   { left:   -1rem; }
  .top--2-l    { top:    -2rem; }
  .right--2-l  { right:  -2rem; }
  .bottom--2-l { bottom: -2rem; }
  .left--2-l   { left:   -2rem; }
  .absolute--fill-l {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

/*

   CLEARFIX
   http://tachyons.io/docs/layout/clearfix/

*/

/* Nicolas Gallaghers Clearfix solution
   Ref: http://nicolasgallagher.com/micro-clearfix-hack/ */

.cf:before,
.cf:after { content: " "; display: table; }

.cf:after { clear: both; }

.cf {       *zoom: 1; }

.cl { clear: left; }

.cr { clear: right; }

.cb { clear: both; }

.cn { clear: none; }

@media screen and (min-width: 37.5em) {
  .cl-ns { clear: left; }
  .cr-ns { clear: right; }
  .cb-ns { clear: both; }
  .cn-ns { clear: none; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .cl-m { clear: left; }
  .cr-m { clear: right; }
  .cb-m { clear: both; }
  .cn-m { clear: none; }
}

@media screen and (min-width: 75em) {
  .cl-l { clear: left; }
  .cr-l { clear: right; }
  .cb-l { clear: both; }
  .cn-l { clear: none; }
}

/*

   DISPLAY
   Docs: http://tachyons.io/docs/layout/display

   Base:
    d = display

   Modifiers:
    n     = none
    b     = block
    ib    = inline-block
    it    = inline-table
    t     = table
    tc    = table-cell
    tr    = table-row
    tcol  = table-column
    tcolg = table-column-group

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.dn {              display: none; }

.di {              display: inline; }

.db {              display: block; }

.dib {             display: inline-block; }

.dit {             display: inline-table; }

.dt {              display: table; }

.dtc {             display: table-cell; }

.dt-row {          display: table-row; }

.dt-row-group {    display: table-row-group; }

.dt-column {       display: table-column; }

.dt-column-group { display: table-column-group; }

/*
  This will set table to full width and then
  all cells will be equal width
*/

.dt--fixed {
  table-layout: fixed;
  width: 100%;
}

@media screen and (min-width: 37.5em) {
  .dn-ns {              display: none; }
  .di-ns {              display: inline; }
  .db-ns {              display: block; }
  .dib-ns {             display: inline-block; }
  .dit-ns {             display: inline-table; }
  .dt-ns {              display: table; }
  .dtc-ns {             display: table-cell; }
  .dt-row-ns {          display: table-row; }
  .dt-row-group-ns {    display: table-row-group; }
  .dt-column-ns {       display: table-column; }
  .dt-column-group-ns { display: table-column-group; }

  .dt--fixed-ns {
    table-layout: fixed;
    width: 100%;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .dn-m {              display: none; }
  .di-m {              display: inline; }
  .db-m {              display: block; }
  .dib-m {             display: inline-block; }
  .dit-m {             display: inline-table; }
  .dt-m {              display: table; }
  .dtc-m {             display: table-cell; }
  .dt-row-m {          display: table-row; }
  .dt-row-group-m {    display: table-row-group; }
  .dt-column-m {       display: table-column; }
  .dt-column-group-m { display: table-column-group; }

  .dt--fixed-m {
    table-layout: fixed;
    width: 100%;
  }
}

@media screen and (min-width: 75em) {
  .dn-l {              display: none; }
  .di-l {              display: inline; }
  .db-l {              display: block; }
  .dib-l {             display: inline-block; }
  .dit-l {             display: inline-table; }
  .dt-l {              display: table; }
  .dtc-l {             display: table-cell; }
  .dt-row-l {          display: table-row; }
  .dt-row-group-l {    display: table-row-group; }
  .dt-column-l {       display: table-column; }
  .dt-column-group-l { display: table-column-group; }

  .dt--fixed-l {
    table-layout: fixed;
    width: 100%;
  }
}

/*

  FLEXBOX

  Media Query Extensions:
   -ns = not-small
   -m  = medium
   -l  = large

*/

.flex { display: -webkit-box; display: -ms-flexbox; display: flex; }

.inline-flex { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }

/* 1. Fix for Chrome 44 bug.
 * https://code.google.com/p/chromium/issues/detail?id=506893 */

.flex-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0; /* 1 */
  min-height: 0; /* 1 */
}

.flex-none { -webkit-box-flex: 0; -ms-flex: none; flex: none; }

.flex-column  { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }

.flex-row     { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }

.flex-wrap    { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.items-start    { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.items-end      { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }

.items-center   { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.items-baseline { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }

.items-stretch  { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }

.self-start    { -ms-flex-item-align: start; align-self: flex-start; }

.self-end      { -ms-flex-item-align: end; align-self: flex-end; }

.self-center   { -ms-flex-item-align: center; -ms-grid-row-align: center; align-self: center; }

.self-baseline { -ms-flex-item-align: baseline; align-self: baseline; }

.self-stretch  { -ms-flex-item-align: stretch; -ms-grid-row-align: stretch; align-self: stretch; }

.justify-start   { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

.justify-end     { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

.justify-center  { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.justify-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.justify-around  { -ms-flex-pack: distribute; justify-content: space-around; }

.content-start   { -ms-flex-line-pack: start; align-content: flex-start; }

.content-end     { -ms-flex-line-pack: end; align-content: flex-end; }

.content-center  { -ms-flex-line-pack: center; align-content: center; }

.content-between { -ms-flex-line-pack: justify; align-content: space-between; }

.content-around  { -ms-flex-line-pack: distribute; align-content: space-around; }

.content-stretch { -ms-flex-line-pack: stretch; align-content: stretch; }

.order-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }

.order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }

.order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }

.order-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }

.order-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }

.order-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }

.order-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }

.order-7 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }

.order-8 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }

.order-last { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999; }

@media screen and (min-width: 37.5em) {
  .flex-ns { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .inline-flex-ns { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
  .flex-auto-ns {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0; /* 1 */
    min-height: 0; /* 1 */
  }
  .flex-none-ns { -webkit-box-flex: 0; -ms-flex: none; flex: none; }
  .flex-column-ns { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .flex-row-ns     { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .flex-wrap-ns { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .items-start-ns { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .items-end-ns { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
  .items-center-ns { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .items-baseline-ns { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }
  .items-stretch-ns { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }

  .self-start-ns { -ms-flex-item-align: start; align-self: flex-start; }
  .self-end-ns { -ms-flex-item-align: end; align-self: flex-end; }
  .self-center-ns { -ms-flex-item-align: center; -ms-grid-row-align: center; align-self: center; }
  .self-baseline-ns { -ms-flex-item-align: baseline; align-self: baseline; }
  .self-stretch-ns { -ms-flex-item-align: stretch; -ms-grid-row-align: stretch; align-self: stretch; }

  .justify-start-ns { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
  .justify-end-ns { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
  .justify-center-ns { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .justify-between-ns { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .justify-around-ns { -ms-flex-pack: distribute; justify-content: space-around; }

  .content-start-ns { -ms-flex-line-pack: start; align-content: flex-start; }
  .content-end-ns { -ms-flex-line-pack: end; align-content: flex-end; }
  .content-center-ns { -ms-flex-line-pack: center; align-content: center; }
  .content-between-ns { -ms-flex-line-pack: justify; align-content: space-between; }
  .content-around-ns { -ms-flex-line-pack: distribute; align-content: space-around; }
  .content-stretch-ns { -ms-flex-line-pack: stretch; align-content: stretch; }

  .order-0-ns { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
  .order-1-ns { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .order-2-ns { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .order-3-ns { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
  .order-4-ns { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
  .order-5-ns { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
  .order-6-ns { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }
  .order-7-ns { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }
  .order-8-ns { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }
  .order-last-ns { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .flex-m { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .inline-flex-m { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
  .flex-auto-m {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0; /* 1 */
    min-height: 0; /* 1 */
  }
  .flex-none-m { -webkit-box-flex: 0; -ms-flex: none; flex: none; }
  .flex-column-m { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .flex-row-m     { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .flex-wrap-m { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .items-start-m { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .items-end-m { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
  .items-center-m { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .items-baseline-m { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }
  .items-stretch-m { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }

  .self-start-m { -ms-flex-item-align: start; align-self: flex-start; }
  .self-end-m { -ms-flex-item-align: end; align-self: flex-end; }
  .self-center-m { -ms-flex-item-align: center; -ms-grid-row-align: center; align-self: center; }
  .self-baseline-m { -ms-flex-item-align: baseline; align-self: baseline; }
  .self-stretch-m { -ms-flex-item-align: stretch; -ms-grid-row-align: stretch; align-self: stretch; }

  .justify-start-m { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
  .justify-end-m { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
  .justify-center-m { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .justify-between-m { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .justify-around-m { -ms-flex-pack: distribute; justify-content: space-around; }

  .content-start-m { -ms-flex-line-pack: start; align-content: flex-start; }
  .content-end-m { -ms-flex-line-pack: end; align-content: flex-end; }
  .content-center-m { -ms-flex-line-pack: center; align-content: center; }
  .content-between-m { -ms-flex-line-pack: justify; align-content: space-between; }
  .content-around-m { -ms-flex-line-pack: distribute; align-content: space-around; }
  .content-stretch-m { -ms-flex-line-pack: stretch; align-content: stretch; }

  .order-0-m { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
  .order-1-m { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .order-2-m { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .order-3-m { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
  .order-4-m { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
  .order-5-m { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
  .order-6-m { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }
  .order-7-m { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }
  .order-8-m { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }
  .order-last-m { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999; }
}

@media screen and (min-width: 75em) {
  .flex-l { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .inline-flex-l { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
  .flex-auto-l {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0; /* 1 */
    min-height: 0; /* 1 */
  }
  .flex-none-l { -webkit-box-flex: 0; -ms-flex: none; flex: none; }
  .flex-column-l { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .flex-row-l { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .flex-wrap-l { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .items-start-l { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .items-end-l { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
  .items-center-l { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .items-baseline-l { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }
  .items-stretch-l { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }

  .self-start-l { -ms-flex-item-align: start; align-self: flex-start; }
  .self-end-l { -ms-flex-item-align: end; align-self: flex-end; }
  .self-center-l { -ms-flex-item-align: center; -ms-grid-row-align: center; align-self: center; }
  .self-baseline-l { -ms-flex-item-align: baseline; align-self: baseline; }
  .self-stretch-l { -ms-flex-item-align: stretch; -ms-grid-row-align: stretch; align-self: stretch; }

  .justify-start-l { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
  .justify-end-l { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
  .justify-center-l { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .justify-between-l { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .justify-around-l { -ms-flex-pack: distribute; justify-content: space-around; }

  .content-start-l { -ms-flex-line-pack: start; align-content: flex-start; }
  .content-end-l { -ms-flex-line-pack: end; align-content: flex-end; }
  .content-center-l { -ms-flex-line-pack: center; align-content: center; }
  .content-between-l { -ms-flex-line-pack: justify; align-content: space-between; }
  .content-around-l { -ms-flex-line-pack: distribute; align-content: space-around; }
  .content-stretch-l { -ms-flex-line-pack: stretch; align-content: stretch; }

  .order-0-l { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
  .order-1-l { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .order-2-l { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .order-3-l { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
  .order-4-l { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
  .order-5-l { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
  .order-6-l { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }
  .order-7-l { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }
  .order-8-l { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }
  .order-last-l { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999; }
}

/*

   FLOATS
   http://tachyons.io/docs/layout/floats/

   1. Floated elements are automatically rendered as block level elements.
      Setting floats to display inline will fix the double margin bug in
      ie6. You know... just in case.

   2. Don't forget to clearfix your floats with .cf

   Base:
     f = float

   Modifiers:
     l = left
     r = right
     n = none

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.fl { float: left;  _display: inline; }

.fr { float: right; _display: inline; }

.fn { float: none; }

@media screen and (min-width: 37.5em) {
  .fl-ns { float: left; _display: inline; }
  .fr-ns { float: right; _display: inline; }
  .fn-ns { float: none; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .fl-m { float: left; _display: inline; }
  .fr-m { float: right; _display: inline; }
  .fn-m { float: none; }
}

@media screen and (min-width: 75em) {
  .fl-l { float: left; _display: inline; }
  .fr-l { float: right; _display: inline; }
  .fn-l { float: none; }
}

/*

   FONT FAMILY GROUPS
   Docs: http://tachyons.io/docs/typography/font-family/

*/

.sans-serif {
  font-family: -apple-system, BlinkMacSystemFont,
               'avenir next', avenir,
               helvetica, 'helvetica neue',
               ubuntu,
               roboto, noto,
               'segoe ui', arial,
               sans-serif;
}

.serif {
  font-family: georgia,
               times,
               serif;
}

.system-sans-serif {
  font-family: sans-serif;
}

.system-serif {
  font-family: serif;
}

/* Monospaced Typefaces (for code) */

/* From http://cssfontstack.com */

code, .code {
  font-family: Consolas,
               monaco,
               monospace;
}

.courier {
  font-family: 'Courier Next',
               courier,
               monospace;
}

/* Sans-Serif Typefaces */

.helvetica {
  font-family: 'helvetica neue', helvetica,
               sans-serif;
}

.avenir {
  font-family: 'avenir next', avenir,
               sans-serif;
}

/* Serif Typefaces */

.athelas {
  font-family: athelas,
               georgia,
               serif;
}

.georgia {
  font-family: georgia,
               serif;
}

.times {
  font-family: times,
               serif;
}

.bodoni {
  font-family: "Bodoni MT",
                serif;
}

.calisto {
  font-family: "Calisto MT",
                serif;
}

.garamond {
  font-family: garamond,
               serif;
}

.baskerville {
  font-family: baskerville,
               serif;
}

/*

   FONT STYLE
   Docs: http://tachyons.io/docs/typography/font-style/

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.i         { font-style: italic; }

.fs-normal { font-style: normal; }

@media screen and (min-width: 37.5em) {
  .i-ns       { font-style: italic; }
  .fs-normal-ns     { font-style: normal; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .i-m       { font-style: italic; }
  .fs-normal-m     { font-style: normal; }
}

@media screen and (min-width: 75em) {
  .i-l       { font-style: italic; }
  .fs-normal-l     { font-style: normal; }
}

/*

   FONT WEIGHT
   Docs: http://tachyons.io/docs/typography/font-weight/

   Base
     fw = font-weight

   Modifiers:
     1 = literal value 100
     2 = literal value 200
     3 = literal value 300
     4 = literal value 400
     5 = literal value 500
     6 = literal value 600
     7 = literal value 700
     8 = literal value 800
     9 = literal value 900

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.normal { font-weight: normal; }

.b      { font-weight: bold; }

.fw1    { font-weight: 100; }

.fw2    { font-weight: 200; }

.fw3    { font-weight: 300; }

.fw4    { font-weight: 400; }

.fw5    { font-weight: 500; }

.fw6    { font-weight: 600; }

.fw7    { font-weight: 700; }

.fw8    { font-weight: 800; }

.fw9    { font-weight: 900; }

@media screen and (min-width: 37.5em) {
  .normal-ns { font-weight: normal; }
  .b-ns      { font-weight: bold; }
  .fw1-ns    { font-weight: 100; }
  .fw2-ns    { font-weight: 200; }
  .fw3-ns    { font-weight: 300; }
  .fw4-ns    { font-weight: 400; }
  .fw5-ns    { font-weight: 500; }
  .fw6-ns    { font-weight: 600; }
  .fw7-ns    { font-weight: 700; }
  .fw8-ns    { font-weight: 800; }
  .fw9-ns    { font-weight: 900; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .normal-m { font-weight: normal; }
  .b-m      { font-weight: bold; }
  .fw1-m    { font-weight: 100; }
  .fw2-m    { font-weight: 200; }
  .fw3-m    { font-weight: 300; }
  .fw4-m    { font-weight: 400; }
  .fw5-m    { font-weight: 500; }
  .fw6-m    { font-weight: 600; }
  .fw7-m    { font-weight: 700; }
  .fw8-m    { font-weight: 800; }
  .fw9-m    { font-weight: 900; }
}

@media screen and (min-width: 75em) {
  .normal-l { font-weight: normal; }
  .b-l      { font-weight: bold; }
  .fw1-l    { font-weight: 100; }
  .fw2-l    { font-weight: 200; }
  .fw3-l    { font-weight: 300; }
  .fw4-l    { font-weight: 400; }
  .fw5-l    { font-weight: 500; }
  .fw6-l    { font-weight: 600; }
  .fw7-l    { font-weight: 700; }
  .fw8-l    { font-weight: 800; }
  .fw9-l    { font-weight: 900; }
}

/*

   FORMS
   
*/

.input-reset {
  -webkit-appearance: none;
  -moz-appearance: none;
}

.button-reset::-moz-focus-inner,
.input-reset::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*

   HEIGHTS
   Docs: http://tachyons.io/docs/layout/heights/

   Base:
     h = height
     min-h = min-height
     min-vh = min-height vertical screen height
     vh = vertical screen height

   Modifiers
     1 = 1st step in height scale
     2 = 2nd step in height scale
     3 = 3rd step in height scale
     4 = 4th step in height scale
     5 = 5th step in height scale

     -25   = literal value 25%
     -50   = literal value 50%
     -75   = literal value 75%
     -100  = literal value 100%

     -auto = string value of auto
     -inherit = string value of inherit

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

/* Height Scale */

.h1 { height: 16px; height: 1rem; }

.h2 { height: 32px; height: 2rem; }

.h3 { height: 64px; height: 4rem; }

.h4 { height: 128px; height: 8rem; }

.h5 { height: 256px; height: 16rem; }

/* Height Percentages - Based off of height of parent */

.h-25 {  height:  25%; }

.h-50 {  height:  50%; }

.h-75 {  height:  75%; }

.h-100 { height: 100%; }

.min-h-100 { min-height: 100%; }

/* Screen Height Percentage */

.vh-25 {  height:  25vh; }

.vh-50 {  height:  50vh; }

.vh-75 {  height:  75vh; }

.vh-100 { height: 100vh; }

.min-vh-100 { min-height: 100vh; }

/* String Properties */

.h-auto {     height: auto; }

.h-inherit {  height: inherit; }

@media screen and (min-width: 37.5em) {
  .h1-ns {  height: 1rem; }
  .h2-ns {  height: 2rem; }
  .h3-ns {  height: 4rem; }
  .h4-ns {  height: 8rem; }
  .h5-ns {  height: 16rem; }
  .h-25-ns { height: 25%; }
  .h-50-ns { height: 50%; }
  .h-75-ns { height: 75%; }
  .h-100-ns { height: 100%; }
  .min-h-100-ns { min-height: 100%; }
  .vh-25-ns {  height:  25vh; }
  .vh-50-ns {  height:  50vh; }
  .vh-75-ns {  height:  75vh; }
  .vh-100-ns { height: 100vh; }
  .min-vh-100-ns { min-height: 100vh; }
  .h-auto-ns { height: auto; }
  .h-inherit-ns { height: inherit; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .h1-m { height: 1rem; }
  .h2-m { height: 2rem; }
  .h3-m { height: 4rem; }
  .h4-m { height: 8rem; }
  .h5-m { height: 16rem; }
  .h-25-m { height: 25%; }
  .h-50-m { height: 50%; }
  .h-75-m { height: 75%; }
  .h-100-m { height: 100%; }
  .min-h-100-ns { min-height: 100%; }
  .vh-25-m {  height:  25vh; }
  .vh-50-m {  height:  50vh; }
  .vh-75-m {  height:  75vh; }
  .vh-100-m { height: 100vh; }
  .min-vh-100-m { min-height: 100vh; }
  .h-auto-m { height: auto; }
  .h-inherit-m { height: inherit; }
}

@media screen and (min-width: 75em) {
  .h1-l { height: 1rem; }
  .h2-l { height: 2rem; }
  .h3-l { height: 4rem; }
  .h4-l { height: 8rem; }
  .h5-l { height: 16rem; }
  .h-25-l { height: 25%; }
  .h-50-l { height: 50%; }
  .h-75-l { height: 75%; }
  .h-100-l { height: 100%; }
  .min-h-100-l { min-height: 100%; }
  .vh-25-l {  height:  25vh; }
  .vh-50-l {  height:  50vh; }
  .vh-75-l {  height:  75vh; }
  .vh-100-l { height: 100vh; }
  .min-vh-100-l { min-height: 100vh; }
  .h-auto-l { height: auto; }
  .h-inherit-l { height: inherit; }
}

/*

   LETTER SPACING
   Docs: http://tachyons.io/docs/typography/tracking/

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.tracked       { letter-spacing:  .1em; }

.tracked-tight { letter-spacing: -.05em; }

.tracked-mega  { letter-spacing:  .25em; }

@media screen and (min-width: 37.5em) {
  .tracked-ns       { letter-spacing:  .1em; }
  .tracked-tight-ns { letter-spacing: -.05em; }
  .tracked-mega-ns  { letter-spacing:  .25em; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .tracked-m       { letter-spacing:  .1em; }
  .tracked-tight-m { letter-spacing: -.05em; }
  .tracked-mega-m  { letter-spacing:  .25em; }
}

@media screen and (min-width: 75em) {
  .tracked-l       { letter-spacing:  .1em; }
  .tracked-tight-l { letter-spacing: -.05em; }
  .tracked-mega-l  { letter-spacing:  .25em; }
}

/*

   LINE HEIGHT / LEADING
   Docs: http://tachyons.io/docs/typography/line-height

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.lh-solid { line-height: 1; }

.lh-title { line-height: 1.25; }

.lh-copy  { line-height: 1.5; }

@media screen and (min-width: 37.5em) {
  .lh-solid-ns { line-height: 1; }
  .lh-title-ns { line-height: 1.25; }
  .lh-copy-ns  { line-height: 1.5; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .lh-solid-m { line-height: 1; }
  .lh-title-m { line-height: 1.25; }
  .lh-copy-m  { line-height: 1.5; }
}

@media screen and (min-width: 75em) {
  .lh-solid-l { line-height: 1; }
  .lh-title-l { line-height: 1.25; }
  .lh-copy-l  { line-height: 1.5; }
}

/*

   LINKS
   Docs: http://tachyons.io/docs/elements/links/

*/

.link {
  text-decoration: none;
  transition: color .15s ease-in;
}

.link:link,
.link:visited {
  transition: color .15s ease-in;
}

.link:hover   {
  transition: color .15s ease-in;
}

.link:active  {
  transition: color .15s ease-in;
}

.link:focus   {
  transition: color .15s ease-in;
  outline: 1px dotted currentColor;
}

/*

   LISTS
   http://tachyons.io/docs/elements/lists/

*/

.list {         list-style-type: none; }

/*

   MAX WIDTHS
   Docs: http://tachyons.io/docs/layout/max-widths/

   Base:
     mw = max-width

   Modifiers
     1 = 1st step in width scale
     2 = 2nd step in width scale
     3 = 3rd step in width scale
     4 = 4th step in width scale
     5 = 5th step in width scale
     6 = 6st step in width scale
     7 = 7nd step in width scale
     8 = 8rd step in width scale
     9 = 9th step in width scale

     -100 = literal value 100%

     -none  = string value none


   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

/* Max Width Percentages */

.mw-100  { max-width: 100%; }

/* Max Width Scale */

.mw1  {  max-width: 16px;  max-width: 1rem; }

.mw2  {  max-width: 32px;  max-width: 2rem; }

.mw3  {  max-width: 64px;  max-width: 4rem; }

.mw4  {  max-width: 128px;  max-width: 8rem; }

.mw5  {  max-width: 256px;  max-width: 16rem; }

.mw6  {  max-width: 512px;  max-width: 32rem; }

.mw7  {  max-width: 768px;  max-width: 48rem; }

.mw8  {  max-width: 1024px;  max-width: 64rem; }

.mw9  {  max-width: 1536px;  max-width: 96rem; }

/* Max Width String Properties */

.mw-none { max-width: none; }

@media screen and (min-width: 37.5em) {
  .mw-100-ns  { max-width: 100%; }

  .mw1-ns  {  max-width: 1rem; }
  .mw2-ns  {  max-width: 2rem; }
  .mw3-ns  {  max-width: 4rem; }
  .mw4-ns  {  max-width: 8rem; }
  .mw5-ns  {  max-width: 16rem; }
  .mw6-ns  {  max-width: 32rem; }
  .mw7-ns  {  max-width: 48rem; }
  .mw8-ns  {  max-width: 64rem; }
  .mw9-ns  {  max-width: 96rem; }

  .mw-none-ns { max-width: none; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .mw-100-m  { max-width: 100%; }

  .mw1-m  {  max-width: 1rem; }
  .mw2-m  {  max-width: 2rem; }
  .mw3-m  {  max-width: 4rem; }
  .mw4-m  {  max-width: 8rem; }
  .mw5-m  {  max-width: 16rem; }
  .mw6-m  {  max-width: 32rem; }
  .mw7-m  {  max-width: 48rem; }
  .mw8-m  {  max-width: 64rem; }
  .mw9-m  {  max-width: 96rem; }

  .mw-none-m { max-width: none; }
}

@media screen and (min-width: 75em) {
  .mw-100-l  { max-width: 100%; }

  .mw1-l  {  max-width: 1rem; }
  .mw2-l  {  max-width: 2rem; }
  .mw3-l  {  max-width: 4rem; }
  .mw4-l  {  max-width: 8rem; }
  .mw5-l  {  max-width: 16rem; }
  .mw6-l  {  max-width: 32rem; }
  .mw7-l  {  max-width: 48rem; }
  .mw8-l  {  max-width: 64rem; }
  .mw9-l  {  max-width: 96rem; }

  .mw-none-l { max-width: none; }
}

/*

   WIDTHS
   Docs: http://tachyons.io/docs/layout/widths/

   Base:
     w = width

   Modifiers
     1 = 1st step in width scale
     2 = 2nd step in width scale
     3 = 3rd step in width scale
     4 = 4th step in width scale
     5 = 5th step in width scale

     -10  = literal value 10%
     -20  = literal value 20%
     -25  = literal value 25%
     -33  = literal value 33%
     -34  = literal value 34%
     -40  = literal value 40%
     -50  = literal value 50%
     -60  = literal value 60%
     -75  = literal value 75%
     -80  = literal value 80%
     -100 = literal value 100%

     -third = 100% / 3 (Not supported in opera mini or IE8)
     -auto  = string value auto


   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

/* Width Scale */

.w1 {    width: 16px;    width: 1rem; }

.w2 {    width: 32px;    width: 2rem; }

.w3 {    width: 64px;    width: 4rem; }

.w4 {    width: 128px;    width: 8rem; }

.w5 {    width: 256px;    width: 16rem; }

.w-10 {  width:  10%; }

.w-20 {  width:  20%; }

.w-25 {  width:  25%; }

.w-30 {  width:  30%; }

.w-33 {  width:  33%; }

.w-34 {  width:  34%; }

.w-40 {  width:  40%; }

.w-50 {  width:  50%; }

.w-60 {  width:  60%; }

.w-70 {  width:  70%; }

.w-75 {  width:  75%; }

.w-80 {  width:  80%; }

.w-90 {  width:  90%; }

.w-100 { width: 100%; }

.w-third { width: 33.33333%; }

.w-two-thirds { width: 66.66667%; }

.w-auto { width: auto; }

@media screen and (min-width: 37.5em) {
  .w1-ns {  width: 1rem; }
  .w2-ns {  width: 2rem; }
  .w3-ns {  width: 4rem; }
  .w4-ns {  width: 8rem; }
  .w5-ns {  width: 16rem; }
  .w-10-ns { width:  10%; }
  .w-20-ns { width:  20%; }
  .w-25-ns { width:  25%; }
  .w-30-ns { width:  30%; }
  .w-33-ns { width:  33%; }
  .w-34-ns { width:  34%; }
  .w-40-ns { width:  40%; }
  .w-50-ns { width:  50%; }
  .w-60-ns { width:  60%; }
  .w-70-ns { width:  70%; }
  .w-75-ns { width:  75%; }
  .w-80-ns { width:  80%; }
  .w-90-ns { width:  90%; }
  .w-100-ns { width: 100%; }
  .w-third-ns { width: 33.33333%; }
  .w-two-thirds-ns { width: 66.66667%; }
  .w-auto-ns { width: auto; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .w1-m {      width: 1rem; }
  .w2-m {      width: 2rem; }
  .w3-m {      width: 4rem; }
  .w4-m {      width: 8rem; }
  .w5-m {      width: 16rem; }
  .w-10-m { width:  10%; }
  .w-20-m { width:  20%; }
  .w-25-m { width:  25%; }
  .w-30-m { width:  30%; }
  .w-33-m { width:  33%; }
  .w-34-m { width:  34%; }
  .w-40-m { width:  40%; }
  .w-50-m { width:  50%; }
  .w-60-m { width:  60%; }
  .w-70-m { width:  70%; }
  .w-75-m { width:  75%; }
  .w-80-m { width:  80%; }
  .w-90-m { width:  90%; }
  .w-100-m { width: 100%; }
  .w-third-m { width: 33.33333%; }
  .w-two-thirds-m { width: 66.66667%; }
  .w-auto-m {    width: auto; }
}

@media screen and (min-width: 75em) {
  .w1-l {      width: 1rem; }
  .w2-l {      width: 2rem; }
  .w3-l {      width: 4rem; }
  .w4-l {      width: 8rem; }
  .w5-l {      width: 16rem; }
  .w-10-l {    width:  10%; }
  .w-20-l {    width:  20%; }
  .w-25-l {    width:  25%; }
  .w-30-l {    width:  30%; }
  .w-33-l {    width:  33%; }
  .w-34-l {    width:  34%; }
  .w-40-l {    width:  40%; }
  .w-50-l {    width:  50%; }
  .w-60-l {    width:  60%; }
  .w-70-l {    width:  70%; }
  .w-75-l {    width:  75%; }
  .w-80-l {    width:  80%; }
  .w-90-l {    width:  90%; }
  .w-100-l {   width: 100%; }
  .w-third-l { width: 33.33333%; }
  .w-two-thirds-l { width: 66.66667%; }
  .w-auto-l {    width: auto; }
}

/*

    OVERFLOW

    Media Query Extensions:
      -ns = not-small
      -m  = medium
      -l  = large

 */

.overflow-visible { overflow: visible; }

.overflow-hidden { overflow: hidden; }

.overflow-scroll { overflow: scroll; }

.overflow-auto { overflow: auto; }

.overflow-x-visible { overflow-x: visible; }

.overflow-x-hidden { overflow-x: hidden; }

.overflow-x-scroll { overflow-x: scroll; }

.overflow-x-auto { overflow-x: auto; }

.overflow-y-visible { overflow-y: visible; }

.overflow-y-hidden { overflow-y: hidden; }

.overflow-y-scroll { overflow-y: scroll; }

.overflow-y-auto { overflow-y: auto; }

@media screen and (min-width: 37.5em) {
  .overflow-visible-ns { overflow: visible; }
  .overflow-hidden-ns { overflow: hidden; }
  .overflow-scroll-ns { overflow: scroll; }
  .overflow-auto-ns { overflow: auto; }
  .overflow-x-visible-ns { overflow-x: visible; }
  .overflow-x-hidden-ns { overflow-x: hidden; }
  .overflow-x-scroll-ns { overflow-x: scroll; }
  .overflow-x-auto-ns { overflow-x: auto; }

  .overflow-y-visible-ns { overflow-y: visible; }
  .overflow-y-hidden-ns { overflow-y: hidden; }
  .overflow-y-scroll-ns { overflow-y: scroll; }
  .overflow-y-auto-ns { overflow-y: auto; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .overflow-visible-m { overflow: visible; }
  .overflow-hidden-m { overflow: hidden; }
  .overflow-scroll-m { overflow: scroll; }
  .overflow-auto-m { overflow: auto; }

  .overflow-x-visible-m { overflow-x: visible; }
  .overflow-x-hidden-m { overflow-x: hidden; }
  .overflow-x-scroll-m { overflow-x: scroll; }
  .overflow-x-auto-m { overflow-x: auto; }

  .overflow-y-visible-m { overflow-y: visible; }
  .overflow-y-hidden-m { overflow-y: hidden; }
  .overflow-y-scroll-m { overflow-y: scroll; }
  .overflow-y-auto-m { overflow-y: auto; }
}

@media screen and (min-width: 75em) {
  .overflow-visible-l { overflow: visible; }
  .overflow-hidden-l { overflow: hidden; }
  .overflow-scroll-l { overflow: scroll; }
  .overflow-auto-l { overflow: auto; }

  .overflow-x-visible-l { overflow-x: visible; }
  .overflow-x-hidden-l { overflow-x: hidden; }
  .overflow-x-scroll-l { overflow-x: scroll; }
  .overflow-x-auto-l { overflow-x: auto; }

  .overflow-y-visible-l { overflow-y: visible; }
  .overflow-y-hidden-l { overflow-y: hidden; }
  .overflow-y-scroll-l { overflow-y: scroll; }
  .overflow-y-auto-l { overflow-y: auto; }
}

/*

   POSITIONING
   Docs: http://tachyons.io/docs/layout/position/

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.static { position: static; }

.relative  { position: relative; }

.absolute  { position: absolute; }

.fixed  { position: fixed; }

@media screen and (min-width: 37.5em) {
  .static-ns { position: static; }
  .relative-ns  { position: relative; }
  .absolute-ns  { position: absolute; }
  .fixed-ns  { position: fixed; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .static-m { position: static; }
  .relative-m  { position: relative; }
  .absolute-m  { position: absolute; }
  .fixed-m  { position: fixed; }
}

@media screen and (min-width: 75em) {
  .static-l { position: static; }
  .relative-l  { position: relative; }
  .absolute-l  { position: absolute; }
  .fixed-l  { position: fixed; }
}

/*

    OPACITY
    Docs: http://tachyons.io/docs/themes/opacity/

*/

.o-100 { opacity: 1;    }

.o-90  { opacity: .9;   }

.o-80  { opacity: .8;   }

.o-70  { opacity: .7;   }

.o-60  { opacity: .6;   }

.o-50  { opacity: .5;   }

.o-40  { opacity: .4;   }

.o-30  { opacity: .3;   }

.o-20  { opacity: .2;   }

.o-10  { opacity: .1;   }

.o-05  { opacity: .05;  }

.o-025 { opacity: .025; }

.o-0   { opacity: 0; }

/*

   SKINS
   Docs: http://tachyons.io/docs/themes/skins/

   Classes for setting foreground and background colors on elements.
   If you haven't declared a border color, but set border on an element, it will 
   be set to the current text color. 

*/

/* Text colors */

.black-90 {         color: rgba(0, 0, 0, .9); }

.black-80 {         color: rgba(0, 0, 0, .8); }

.black-70 {         color: rgba(0, 0, 0, .7); }

.black-60 {         color: rgba(0, 0, 0, .6); }

.black-50 {         color: rgba(0, 0, 0, .5); }

.black-40 {         color: rgba(0, 0, 0, .4); }

.black-30 {         color: rgba(0, 0, 0, .3); }

.black-20 {         color: rgba(0, 0, 0, .2); }

.black-10 {         color: rgba(0, 0, 0, .1); }

.black-05 {         color: rgba(0, 0, 0, .05); }

.white-90 {         color: rgba(255, 255, 255, .9); }

.white-80 {         color: rgba(255, 255, 255, .8); }

.white-70 {         color: rgba(255, 255, 255, .7); }

.white-60 {         color: rgba(255, 255, 255, .6); }

.white-50 {         color: rgba(255, 255, 255, .5); }

.white-40 {         color: rgba(255, 255, 255, .4); }

.white-30 {         color: rgba(255, 255, 255, .3); }

.white-20 {         color: rgba(255, 255, 255, .2); }

.white-10 {         color: rgba(255, 255, 255, .1); }

.black {         color: #000; }

.near-black {    color: #111; }

.dark-gray {     color: #333; }

.mid-gray {      color: #555; }

.gray {          color: #777; }

.silver  {       color: #999; }

.light-silver {  color: #aaa; }

.moon-gray {     color: #ccc; }

.light-gray {    color: #eee; }

.near-white {    color: #f4f4f4; }

.white {         color: #fff; }

.dark-red { color: #e7040f; }

.red { color: #ff4136; }

.light-red { color: #ff725c; }

.orange { color: #ff6300; }

.gold { color: #ffb700; }

.yellow { color: #ffd700; }

.light-yellow { color: #fbf1a9; }

.purple { color: #5e2ca5; }

.light-purple { color: #a463f2; }

.dark-pink { color: #d5008f; }

.hot-pink { color: #ff41b4; }

.pink { color: #ff80cc; }

.light-pink { color: #ffa3d7; }

.dark-green { color: #137752; }

.green { color: #19a974; }

.light-green { color: #9eebcf; }

.navy { color: #001b44; }

.dark-blue { color: #00449e; }

.blue { color: #357edd; }

.light-blue { color: #96ccff; }

.lightest-blue { color: #cdecff; }

.washed-blue { color: #f6fffe; }

.washed-green { color: #e8fdf5; }

.washed-yellow { color: #fffceb; }

.washed-red { color: #ffdfdf; }

.bg-black-90 {         background-color: rgba(0, 0, 0, .9); }

.bg-black-80 {         background-color: rgba(0, 0, 0, .8); }

.bg-black-70 {         background-color: rgba(0, 0, 0, .7); }

.bg-black-60 {         background-color: rgba(0, 0, 0, .6); }

.bg-black-50 {         background-color: rgba(0, 0, 0, .5); }

.bg-black-40 {         background-color: rgba(0, 0, 0, .4); }

.bg-black-30 {         background-color: rgba(0, 0, 0, .3); }

.bg-black-20 {         background-color: rgba(0, 0, 0, .2); }

.bg-black-10 {         background-color: rgba(0, 0, 0, .1); }

.bg-black-05 {         background-color: rgba(0, 0, 0, .05); }

.bg-white-90 {        background-color: rgba(255, 255, 255, .9); }

.bg-white-80 {        background-color: rgba(255, 255, 255, .8); }

.bg-white-70 {        background-color: rgba(255, 255, 255, .7); }

.bg-white-60 {        background-color: rgba(255, 255, 255, .6); }

.bg-white-50 {        background-color: rgba(255, 255, 255, .5); }

.bg-white-40 {        background-color: rgba(255, 255, 255, .4); }

.bg-white-30 {        background-color: rgba(255, 255, 255, .3); }

.bg-white-20 {        background-color: rgba(255, 255, 255, .2); }

.bg-white-10 {        background-color: rgba(255, 255, 255, .1); }

/* Background colors */

.bg-black {         background-color: #000; }

.bg-near-black {    background-color: #111; }

.bg-dark-gray {     background-color: #333; }

.bg-mid-gray {      background-color: #555; }

.bg-gray {          background-color: #777; }

.bg-silver  {       background-color: #999; }

.bg-light-silver {  background-color: #aaa; }

.bg-moon-gray {     background-color: #ccc; }

.bg-light-gray {    background-color: #eee; }

.bg-near-white {    background-color: #f4f4f4; }

.bg-white {         background-color: #fff; }

.bg-transparent {   background-color: transparent; }

.bg-dark-red { background-color: #e7040f; }

.bg-red { background-color: #ff4136; }

.bg-light-red { background-color: #ff725c; }

.bg-orange { background-color: #ff6300; }

.bg-gold { background-color: #ffb700; }

.bg-yellow { background-color: #ffd700; }

.bg-light-yellow { background-color: #fbf1a9; }

.bg-purple { background-color: #5e2ca5; }

.bg-light-purple { background-color: #a463f2; }

.bg-dark-pink { background-color: #d5008f; }

.bg-hot-pink { background-color: #ff41b4; }

.bg-pink { background-color: #ff80cc; }

.bg-light-pink { background-color: #ffa3d7; }

.bg-dark-green { background-color: #137752; }

.bg-green { background-color: #19a974; }

.bg-light-green { background-color: #9eebcf; }

.bg-navy { background-color: #001b44; }

.bg-dark-blue { background-color: #00449e; }

.bg-blue { background-color: #357edd; }

.bg-light-blue { background-color: #96ccff; }

.bg-lightest-blue { background-color: #cdecff; }

.bg-washed-blue { background-color: #f6fffe; }

.bg-washed-green { background-color: #e8fdf5; }

.bg-washed-yellow { background-color: #fffceb; }

.bg-washed-red { background-color: #ffdfdf; }

/* 
  
   SKINS:PSEUDO

   Customize the color of an element when
   it is focused or hovered over.
 
 */

.hover-black:hover, 
.hover-black:focus { color: #000; }

.hover-near-black:hover, 
.hover-near-black:focus { color: #111; }

.hover-dark-gray:hover, 
.hover-dark-gray:focus { color: #333; }

.hover-mid-gray:hover, 
.hover-mid-gray:focus { color: #555; }

.hover-gray:hover, 
.hover-gray:focus { color: #777; }

.hover-silver:hover, 
.hover-silver:focus { color: #999; }

.hover-light-silver:hover, 
.hover-light-silver:focus { color: #aaa; }

.hover-moon-gray:hover, 
.hover-moon-gray:focus { color: #ccc; }

.hover-light-gray:hover, 
.hover-light-gray:focus { color: #eee; }

.hover-near-white:hover, 
.hover-near-white:focus { color: #f4f4f4; }

.hover-white:hover, 
.hover-white:focus { color: #fff; }

.hover-bg-black:hover, 
.hover-bg-black:focus { background-color: #000; }

.hover-bg-near-black:hover, 
.hover-bg-near-black:focus { background-color: #111; }

.hover-bg-dark-gray:hover, 
.hover-bg-dark-gray:focus { background-color: #333; }

.hover-bg-dark-gray:focus, 
.hover-bg-mid-gray:hover { background-color: #555; }

.hover-bg-gray:hover, 
.hover-bg-gray:focus { background-color: #777; }

.hover-bg-silver:hover, 
.hover-bg-silver:focus { background-color: #999; }

.hover-bg-light-silver:hover, 
.hover-bg-light-silver:focus { background-color: #aaa; }

.hover-bg-moon-gray:hover, 
.hover-bg-moon-gray:focus { background-color: #ccc; }

.hover-bg-light-gray:hover, 
.hover-bg-light-gray:focus { background-color: #eee; }

.hover-bg-near-white:hover, 
.hover-bg-near-white:focus { background-color: #f4f4f4; }

.hover-bg-white:hover, 
.hover-bg-white:focus { background-color: #fff; }

.hover-bg-transparent:hover, 
.hover-bg-transparent:focus { background-color: transparent; }

.hover-dark-red:hover,
.hover-dark-red:focus { color: #e7040f; }

.hover-red:hover,
.hover-red:focus { color: #ff4136; }

.hover-light-red:hover,
.hover-light-red:focus { color: #ff725c; }

.hover-orange:hover,
.hover-orange:focus { color: #ff6300; }

.hover-gold:hover,
.hover-gold:focus { color: #ffb700; }

.hover-yellow:hover,
.hover-yellow:focus { color: #ffd700; }

.hover-light-yellow:hover,
.hover-light-yellow:focus { color: #fbf1a9; }

.hover-purple:hover,
.hover-purple:focus { color: #5e2ca5; }

.hover-light-purple:hover,
.hover-light-purple:focus { color: #a463f2; }

.hover-dark-pink:hover,
.hover-dark-pink:focus { color: #d5008f; }

.hover-hot-pink:hover,
.hover-hot-pink:focus { color: #ff41b4; }

.hover-pink:hover,
.hover-pink:focus { color: #ff80cc; }

.hover-light-pink:hover,
.hover-light-pink:focus { color: #ffa3d7; }

.hover-dark-green:hover,
.hover-dark-green:focus { color: #137752; }

.hover-green:hover,
.hover-green:focus { color: #19a974; }

.hover-light-green:hover,
.hover-light-green:focus { color: #9eebcf; }

.hover-navy:hover,
.hover-navy:focus { color: #001b44; }

.hover-dark-blue:hover,
.hover-dark-blue:focus { color: #00449e; }

.hover-blue:hover,
.hover-blue:focus { color: #357edd; }

.hover-light-blue:hover,
.hover-light-blue:focus { color: #96ccff; }

.hover-lightest-blue:hover,
.hover-lightest-blue:focus { color: #cdecff; }

.hover-washed-blue:hover,
.hover-washed-blue:focus { color: #f6fffe; }

.hover-washed-green:hover,
.hover-washed-green:focus { color: #e8fdf5; }

.hover-washed-yellow:hover,
.hover-washed-yellow:focus { color: #fffceb; }

.hover-washed-red:hover,
.hover-washed-red:focus { color: #ffdfdf; }

.hover-bg-dark-red:hover,
.hover-bg-dark-red:focus { background-color: #e7040f; }

.hover-bg-red:hover,
.hover-bg-red:focus { background-color: #ff4136; }

.hover-bg-light-red:hover,
.hover-bg-light-red:focus { background-color: #ff725c; }

.hover-bg-orange:hover,
.hover-bg-orange:focus { background-color: #ff6300; }

.hover-bg-gold:hover,
.hover-bg-gold:focus { background-color: #ffb700; }

.hover-bg-yellow:hover,
.hover-bg-yellow:focus { background-color: #ffd700; }

.hover-bg-light-yellow:hover,
.hover-bg-light-yellow:focus { background-color: #fbf1a9; }

.hover-bg-purple:hover,
.hover-bg-purple:focus { background-color: #5e2ca5; }

.hover-bg-light-purple:hover,
.hover-bg-light-purple:focus { background-color: #a463f2; }

.hover-bg-dark-pink:hover,
.hover-bg-dark-pink:focus { background-color: #d5008f; }

.hover-bg-hot-pink:hover,
.hover-bg-hot-pink:focus { background-color: #ff41b4; }

.hover-bg-pink:hover,
.hover-bg-pink:focus { background-color: #ff80cc; }

.hover-bg-light-pink:hover,
.hover-bg-light-pink:focus { background-color: #ffa3d7; }

.hover-bg-dark-green:hover,
.hover-bg-dark-green:focus { background-color: #137752; }

.hover-bg-green:hover,
.hover-bg-green:focus { background-color: #19a974; }

.hover-bg-light-green:hover,
.hover-bg-light-green:focus { background-color: #9eebcf; }

.hover-bg-navy:hover,
.hover-bg-navy:focus { background-color: #001b44; }

.hover-bg-dark-blue:hover,
.hover-bg-dark-blue:focus { background-color: #00449e; }

.hover-bg-blue:hover,
.hover-bg-blue:focus { background-color: #357edd; }

.hover-bg-light-blue:hover,
.hover-bg-light-blue:focus { background-color: #96ccff; }

.hover-bg-lightest-blue:hover,
.hover-bg-lightest-blue:focus { background-color: #cdecff; }

.hover-bg-washed-blue:hover,
.hover-bg-washed-blue:focus { background-color: #f6fffe; }

.hover-bg-washed-green:hover,
.hover-bg-washed-green:focus { background-color: #e8fdf5; }

.hover-bg-washed-yellow:hover,
.hover-bg-washed-yellow:focus { background-color: #fffceb; }

.hover-bg-washed-red:hover,
.hover-bg-washed-red:focus { background-color: #ffdfdf; }

/* Variables */

/*
   SPACING
   Docs: http://tachyons.io/docs/layout/spacing/

   An eight step powers of two scale ranging from 0 to 16rem.

   Base:
     p = padding
     m = margin

   Modifiers:
     a = all
     h = horizontal
     v = vertical
     t = top
     r = right
     b = bottom
     l = left

     0 = none
     1 = 1st step in spacing scale
     2 = 2nd step in spacing scale
     3 = 3rd step in spacing scale
     4 = 4th step in spacing scale
     5 = 5th step in spacing scale
     6 = 6th step in spacing scale
     7 = 7th step in spacing scale

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.pa0 { padding: 0; }

.pa1 { padding: 4px; padding: .25rem; }

.pa2 { padding: 8px; padding: .5rem; }

.pa3 { padding: 16px; padding: 1rem; }

.pa4 { padding: 32px; padding: 2rem; }

.pa5 { padding: 64px; padding: 4rem; }

.pa6 { padding: 128px; padding: 8rem; }

.pa7 { padding: 256px; padding: 16rem; }

.pl0 { padding-left: 0; }

.pl1 { padding-left: 4px; padding-left: .25rem; }

.pl2 { padding-left: 8px; padding-left: .5rem; }

.pl3 { padding-left: 16px; padding-left: 1rem; }

.pl4 { padding-left: 32px; padding-left: 2rem; }

.pl5 { padding-left: 64px; padding-left: 4rem; }

.pl6 { padding-left: 128px; padding-left: 8rem; }

.pl7 { padding-left: 256px; padding-left: 16rem; }

.pr0 { padding-right: 0; }

.pr1 { padding-right: 4px; padding-right: .25rem; }

.pr2 { padding-right: 8px; padding-right: .5rem; }

.pr3 { padding-right: 16px; padding-right: 1rem; }

.pr4 { padding-right: 32px; padding-right: 2rem; }

.pr5 { padding-right: 64px; padding-right: 4rem; }

.pr6 { padding-right: 128px; padding-right: 8rem; }

.pr7 { padding-right: 256px; padding-right: 16rem; }

.pb0 { padding-bottom: 0; }

.pb1 { padding-bottom: 4px; padding-bottom: .25rem; }

.pb2 { padding-bottom: 8px; padding-bottom: .5rem; }

.pb3 { padding-bottom: 16px; padding-bottom: 1rem; }

.pb4 { padding-bottom: 32px; padding-bottom: 2rem; }

.pb5 { padding-bottom: 64px; padding-bottom: 4rem; }

.pb6 { padding-bottom: 128px; padding-bottom: 8rem; }

.pb7 { padding-bottom: 256px; padding-bottom: 16rem; }

.pt0 { padding-top: 0; }

.pt1 { padding-top: 4px; padding-top: .25rem; }

.pt2 { padding-top: 8px; padding-top: .5rem; }

.pt3 { padding-top: 16px; padding-top: 1rem; }

.pt4 { padding-top: 32px; padding-top: 2rem; }

.pt5 { padding-top: 64px; padding-top: 4rem; }

.pt6 { padding-top: 128px; padding-top: 8rem; }

.pt7 { padding-top: 256px; padding-top: 16rem; }

.pv0 {
  padding-top: 0;
  padding-bottom: 0;
}

.pv1 {
  padding-top: 4px;
  padding-top: .25rem;
  padding-bottom: 4px;
  padding-bottom: .25rem;
}

.pv2 {
  padding-top: 8px;
  padding-top: .5rem;
  padding-bottom: 8px;
  padding-bottom: .5rem;
}

.pv3 {
  padding-top: 16px;
  padding-top: 1rem;
  padding-bottom: 16px;
  padding-bottom: 1rem;
}

.pv4 {
  padding-top: 32px;
  padding-top: 2rem;
  padding-bottom: 32px;
  padding-bottom: 2rem;
}

.pv5 {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 64px;
  padding-bottom: 4rem;
}

.pv6 {
  padding-top: 128px;
  padding-top: 8rem;
  padding-bottom: 128px;
  padding-bottom: 8rem;
}

.pv7 {
  padding-top: 256px;
  padding-top: 16rem;
  padding-bottom: 256px;
  padding-bottom: 16rem;
}

.ph0 {
  padding-left: 0;
  padding-right: 0;
}

.ph1 {
  padding-left: 4px;
  padding-left: .25rem;
  padding-right: 4px;
  padding-right: .25rem;
}

.ph2 {
  padding-left: 8px;
  padding-left: .5rem;
  padding-right: 8px;
  padding-right: .5rem;
}

.ph3 {
  padding-left: 16px;
  padding-left: 1rem;
  padding-right: 16px;
  padding-right: 1rem;
}

.ph4 {
  padding-left: 32px;
  padding-left: 2rem;
  padding-right: 32px;
  padding-right: 2rem;
}

.ph5 {
  padding-left: 64px;
  padding-left: 4rem;
  padding-right: 64px;
  padding-right: 4rem;
}

.ph6 {
  padding-left: 128px;
  padding-left: 8rem;
  padding-right: 128px;
  padding-right: 8rem;
}

.ph7 {
  padding-left: 256px;
  padding-left: 16rem;
  padding-right: 256px;
  padding-right: 16rem;
}

.ma0  {  margin: 0; }

.ma1 {  margin: 4px;  margin: .25rem; }

.ma2  {  margin: 8px;  margin: .5rem; }

.ma3  {  margin: 16px;  margin: 1rem; }

.ma4  {  margin: 32px;  margin: 2rem; }

.ma5  {  margin: 64px;  margin: 4rem; }

.ma6 {  margin: 128px;  margin: 8rem; }

.ma7 { margin: 256px; margin: 16rem; }

.ml0  {  margin-left: 0; }

.ml1 {  margin-left: 4px;  margin-left: .25rem; }

.ml2  {  margin-left: 8px;  margin-left: .5rem; }

.ml3  {  margin-left: 16px;  margin-left: 1rem; }

.ml4  {  margin-left: 32px;  margin-left: 2rem; }

.ml5  {  margin-left: 64px;  margin-left: 4rem; }

.ml6 {  margin-left: 128px;  margin-left: 8rem; }

.ml7 { margin-left: 256px; margin-left: 16rem; }

.mr0  {  margin-right: 0; }

.mr1 {  margin-right: 4px;  margin-right: .25rem; }

.mr2  {  margin-right: 8px;  margin-right: .5rem; }

.mr3  {  margin-right: 16px;  margin-right: 1rem; }

.mr4  {  margin-right: 32px;  margin-right: 2rem; }

.mr5  {  margin-right: 64px;  margin-right: 4rem; }

.mr6 {  margin-right: 128px;  margin-right: 8rem; }

.mr7 { margin-right: 256px; margin-right: 16rem; }

.mb0  {  margin-bottom: 0; }

.mb1 {  margin-bottom: 4px;  margin-bottom: .25rem; }

.mb2  {  margin-bottom: 8px;  margin-bottom: .5rem; }

.mb3  {  margin-bottom: 16px;  margin-bottom: 1rem; }

.mb4  {  margin-bottom: 32px;  margin-bottom: 2rem; }

.mb5  {  margin-bottom: 64px;  margin-bottom: 4rem; }

.mb6 {  margin-bottom: 128px;  margin-bottom: 8rem; }

.mb7 { margin-bottom: 256px; margin-bottom: 16rem; }

.mt0  {  margin-top: 0; }

.mt1 {  margin-top: 4px;  margin-top: .25rem; }

.mt2  {  margin-top: 8px;  margin-top: .5rem; }

.mt3  {  margin-top: 16px;  margin-top: 1rem; }

.mt4  {  margin-top: 32px;  margin-top: 2rem; }

.mt5  {  margin-top: 64px;  margin-top: 4rem; }

.mt6 {  margin-top: 128px;  margin-top: 8rem; }

.mt7 { margin-top: 256px; margin-top: 16rem; }

.mv0   {
  margin-top: 0;
  margin-bottom: 0;
}

.mv1  {
  margin-top: 4px;
  margin-top: .25rem;
  margin-bottom: 4px;
  margin-bottom: .25rem;
}

.mv2   {
  margin-top: 8px;
  margin-top: .5rem;
  margin-bottom: 8px;
  margin-bottom: .5rem;
}

.mv3   {
  margin-top: 16px;
  margin-top: 1rem;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

.mv4   {
  margin-top: 32px;
  margin-top: 2rem;
  margin-bottom: 32px;
  margin-bottom: 2rem;
}

.mv5   {
  margin-top: 64px;
  margin-top: 4rem;
  margin-bottom: 64px;
  margin-bottom: 4rem;
}

.mv6  {
  margin-top: 128px;
  margin-top: 8rem;
  margin-bottom: 128px;
  margin-bottom: 8rem;
}

.mv7  {
  margin-top: 256px;
  margin-top: 16rem;
  margin-bottom: 256px;
  margin-bottom: 16rem;
}

.mh0   {
  margin-left: 0;
  margin-right: 0;
}

.mh1   {
  margin-left: 4px;
  margin-left: .25rem;
  margin-right: 4px;
  margin-right: .25rem;
}

.mh2   {
  margin-left: 8px;
  margin-left: .5rem;
  margin-right: 8px;
  margin-right: .5rem;
}

.mh3   {
  margin-left: 16px;
  margin-left: 1rem;
  margin-right: 16px;
  margin-right: 1rem;
}

.mh4   {
  margin-left: 32px;
  margin-left: 2rem;
  margin-right: 32px;
  margin-right: 2rem;
}

.mh5   {
  margin-left: 64px;
  margin-left: 4rem;
  margin-right: 64px;
  margin-right: 4rem;
}

.mh6  {
  margin-left: 128px;
  margin-left: 8rem;
  margin-right: 128px;
  margin-right: 8rem;
}

.mh7  {
  margin-left: 256px;
  margin-left: 16rem;
  margin-right: 256px;
  margin-right: 16rem;
}

@media screen and (min-width: 37.5em) {
  .pa0-ns  {  padding: 0; }
  .pa1-ns {  padding: .25rem; }
  .pa2-ns  {  padding: .5rem; }
  .pa3-ns  {  padding: 1rem; }
  .pa4-ns  {  padding: 2rem; }
  .pa5-ns  {  padding: 4rem; }
  .pa6-ns {  padding: 8rem; }
  .pa7-ns { padding: 16rem; }

  .pl0-ns  {  padding-left: 0; }
  .pl1-ns {  padding-left: .25rem; }
  .pl2-ns  {  padding-left: .5rem; }
  .pl3-ns  {  padding-left: 1rem; }
  .pl4-ns  {  padding-left: 2rem; }
  .pl5-ns  {  padding-left: 4rem; }
  .pl6-ns {  padding-left: 8rem; }
  .pl7-ns { padding-left: 16rem; }

  .pr0-ns  {  padding-right: 0; }
  .pr1-ns {  padding-right: .25rem; }
  .pr2-ns  {  padding-right: .5rem; }
  .pr3-ns  {  padding-right: 1rem; }
  .pr4-ns  {  padding-right: 2rem; }
  .pr5-ns {   padding-right: 4rem; }
  .pr6-ns {  padding-right: 8rem; }
  .pr7-ns { padding-right: 16rem; }

  .pb0-ns  {  padding-bottom: 0; }
  .pb1-ns {  padding-bottom: .25rem; }
  .pb2-ns  {  padding-bottom: .5rem; }
  .pb3-ns  {  padding-bottom: 1rem; }
  .pb4-ns  {  padding-bottom: 2rem; }
  .pb5-ns  {  padding-bottom: 4rem; }
  .pb6-ns {  padding-bottom: 8rem; }
  .pb7-ns { padding-bottom: 16rem; }

  .pt0-ns  {  padding-top: 0; }
  .pt1-ns {  padding-top: .25rem; }
  .pt2-ns  {  padding-top: .5rem; }
  .pt3-ns  {  padding-top: 1rem; }
  .pt4-ns  {  padding-top: 2rem; }
  .pt5-ns  {  padding-top: 4rem; }
  .pt6-ns {  padding-top: 8rem; }
  .pt7-ns { padding-top: 16rem; }

  .pv0-ns {
    padding-top: 0;
    padding-bottom: 0;
  }
  .pv1-ns {
    padding-top: .25rem;
    padding-bottom: .25rem;
  }
  .pv2-ns {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .pv3-ns {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .pv4-ns {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .pv5-ns {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .pv6-ns {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  .pv7-ns {
    padding-top: 16rem;
    padding-bottom: 16rem;
  }
  .ph0-ns {
    padding-left: 0;
    padding-right: 0;
  }
  .ph1-ns {
    padding-left: .25rem;
    padding-right: .25rem;
  }
  .ph2-ns {
    padding-left: .5rem;
    padding-right: .5rem;
  }
  .ph3-ns {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .ph4-ns {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .ph5-ns {
    padding-left: 4rem;
    padding-right: 4rem;
  }
  .ph6-ns {
    padding-left: 8rem;
    padding-right: 8rem;
  }
  .ph7-ns {
    padding-left: 16rem;
    padding-right: 16rem;
  }

  .ma0-ns  {  margin: 0; }
  .ma1-ns {  margin: .25rem; }
  .ma2-ns  {  margin: .5rem; }
  .ma3-ns  {  margin: 1rem; }
  .ma4-ns  {  margin: 2rem; }
  .ma5-ns  {  margin: 4rem; }
  .ma6-ns {  margin: 8rem; }
  .ma7-ns { margin: 16rem; }

  .ml0-ns  {  margin-left: 0; }
  .ml1-ns {  margin-left: .25rem; }
  .ml2-ns  {  margin-left: .5rem; }
  .ml3-ns  {  margin-left: 1rem; }
  .ml4-ns  {  margin-left: 2rem; }
  .ml5-ns  {  margin-left: 4rem; }
  .ml6-ns {  margin-left: 8rem; }
  .ml7-ns { margin-left: 16rem; }

  .mr0-ns  {  margin-right: 0; }
  .mr1-ns {  margin-right: .25rem; }
  .mr2-ns  {  margin-right: .5rem; }
  .mr3-ns  {  margin-right: 1rem; }
  .mr4-ns  {  margin-right: 2rem; }
  .mr5-ns  {  margin-right: 4rem; }
  .mr6-ns {  margin-right: 8rem; }
  .mr7-ns { margin-right: 16rem; }

  .mb0-ns  {  margin-bottom: 0; }
  .mb1-ns {  margin-bottom: .25rem; }
  .mb2-ns  {  margin-bottom: .5rem; }
  .mb3-ns  {  margin-bottom: 1rem; }
  .mb4-ns  {  margin-bottom: 2rem; }
  .mb5-ns  {  margin-bottom: 4rem; }
  .mb6-ns {  margin-bottom: 8rem; }
  .mb7-ns { margin-bottom: 16rem; }

  .mt0-ns  {  margin-top: 0; }
  .mt1-ns {  margin-top: .25rem; }
  .mt2-ns  {  margin-top: .5rem; }
  .mt3-ns  {  margin-top: 1rem; }
  .mt4-ns  {  margin-top: 2rem; }
  .mt5-ns  {  margin-top: 4rem; }
  .mt6-ns {  margin-top: 8rem; }
  .mt7-ns { margin-top: 16rem; }

  .mv0-ns   {
    margin-top: 0;
    margin-bottom: 0;
  }
  .mv1-ns  {
    margin-top: .25rem;
    margin-bottom: .25rem;
  }
  .mv2-ns   {
    margin-top: .5rem;
    margin-bottom: .5rem;
  }
  .mv3-ns   {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .mv4-ns   {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .mv5-ns   {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .mv6-ns  {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
  .mv7-ns  {
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  .mh0-ns   {
    margin-left: 0;
    margin-right: 0;
  }
  .mh1-ns   {
    margin-left: .25rem;
    margin-right: .25rem;
  }
  .mh2-ns   {
    margin-left: .5rem;
    margin-right: .5rem;
  }
  .mh3-ns   {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .mh4-ns   {
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .mh5-ns   {
    margin-left: 4rem;
    margin-right: 4rem;
  }
  .mh6-ns  {
    margin-left: 8rem;
    margin-right: 8rem;
  }
  .mh7-ns  {
    margin-left: 16rem;
    margin-right: 16rem;
  }

}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .pa0-m  {  padding: 0; }
  .pa1-m {  padding: .25rem; }
  .pa2-m  {  padding: .5rem; }
  .pa3-m  {  padding: 1rem; }
  .pa4-m  {  padding: 2rem; }
  .pa5-m  {  padding: 4rem; }
  .pa6-m {  padding: 8rem; }
  .pa7-m { padding: 16rem; }

  .pl0-m  {  padding-left: 0; }
  .pl1-m {  padding-left: .25rem; }
  .pl2-m  {  padding-left: .5rem; }
  .pl3-m  {  padding-left: 1rem; }
  .pl4-m  {  padding-left: 2rem; }
  .pl5-m  {  padding-left: 4rem; }
  .pl6-m {  padding-left: 8rem; }
  .pl7-m { padding-left: 16rem; }

  .pr0-m  {  padding-right: 0; }
  .pr1-m {  padding-right: .25rem; }
  .pr2-m  {  padding-right: .5rem; }
  .pr3-m  {  padding-right: 1rem; }
  .pr4-m  {  padding-right: 2rem; }
  .pr5-m  {  padding-right: 4rem; }
  .pr6-m {  padding-right: 8rem; }
  .pr7-m { padding-right: 16rem; }

  .pb0-m  {  padding-bottom: 0; }
  .pb1-m {  padding-bottom: .25rem; }
  .pb2-m  {  padding-bottom: .5rem; }
  .pb3-m  {  padding-bottom: 1rem; }
  .pb4-m  {  padding-bottom: 2rem; }
  .pb5-m  {  padding-bottom: 4rem; }
  .pb6-m {  padding-bottom: 8rem; }
  .pb7-m { padding-bottom: 16rem; }

  .pt0-m  {  padding-top: 0; }
  .pt1-m {  padding-top: .25rem; }
  .pt2-m  {  padding-top: .5rem; }
  .pt3-m  {  padding-top: 1rem; }
  .pt4-m  {  padding-top: 2rem; }
  .pt5-m  {  padding-top: 4rem; }
  .pt6-m {  padding-top: 8rem; }
  .pt7-m { padding-top: 16rem; }

  .pv0-m {
    padding-top: 0;
    padding-bottom: 0;
  }
  .pv1-m {
    padding-top: .25rem;
    padding-bottom: .25rem;
  }
  .pv2-m {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .pv3-m {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .pv4-m {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .pv5-m {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .pv6-m {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  .pv7-m {
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  .ph0-m {
    padding-left: 0;
    padding-right: 0;
  }
  .ph1-m {
    padding-left: .25rem;
    padding-right: .25rem;
  }
  .ph2-m {
    padding-left: .5rem;
    padding-right: .5rem;
  }
  .ph3-m {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .ph4-m {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .ph5-m {
    padding-left: 4rem;
    padding-right: 4rem;
  }
  .ph6-m {
    padding-left: 8rem;
    padding-right: 8rem;
  }
  .ph7-m {
    padding-left: 16rem;
    padding-right: 16rem;
  }

  .ma0-m  {  margin: 0; }
  .ma1-m {  margin: .25rem; }
  .ma2-m  {  margin: .5rem; }
  .ma3-m  {  margin: 1rem; }
  .ma4-m  {  margin: 2rem; }
  .ma5-m  {  margin: 4rem; }
  .ma6-m {  margin: 8rem; }
  .ma7-m { margin: 16rem; }

  .ml0-m  {  margin-left: 0; }
  .ml1-m {  margin-left: .25rem; }
  .ml2-m  {  margin-left: .5rem; }
  .ml3-m  {  margin-left: 1rem; }
  .ml4-m  {  margin-left: 2rem; }
  .ml5-m  {  margin-left: 4rem; }
  .ml6-m {  margin-left: 8rem; }
  .ml7-m { margin-left: 16rem; }

  .mr0-m  {  margin-right: 0; }
  .mr1-m {  margin-right: .25rem; }
  .mr2-m  {  margin-right: .5rem; }
  .mr3-m  {  margin-right: 1rem; }
  .mr4-m  {  margin-right: 2rem; }
  .mr5-m  {  margin-right: 4rem; }
  .mr6-m {  margin-right: 8rem; }
  .mr7-m { margin-right: 16rem; }

  .mb0-m  {  margin-bottom: 0; }
  .mb1-m {  margin-bottom: .25rem; }
  .mb2-m  {  margin-bottom: .5rem; }
  .mb3-m  {  margin-bottom: 1rem; }
  .mb4-m  {  margin-bottom: 2rem; }
  .mb5-m  {  margin-bottom: 4rem; }
  .mb6-m {  margin-bottom: 8rem; }
  .mb7-m { margin-bottom: 16rem; }

  .mt0-m  {  margin-top: 0; }
  .mt1-m {  margin-top: .25rem; }
  .mt2-m  {  margin-top: .5rem; }
  .mt3-m  {  margin-top: 1rem; }
  .mt4-m  {  margin-top: 2rem; }
  .mt5-m  {  margin-top: 4rem; }
  .mt6-m {  margin-top: 8rem; }
  .mt7-m { margin-top: 16rem; }

  .mv0-m {
    margin-top: 0;
    margin-bottom: 0;
  }
  .mv1-m {
    margin-top: .25rem;
    margin-bottom: .25rem;
  }
  .mv2-m {
    margin-top: .5rem;
    margin-bottom: .5rem;
  }
  .mv3-m {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .mv4-m {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .mv5-m {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .mv6-m {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
  .mv7-m {
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  .mh0-m {
    margin-left: 0;
    margin-right: 0;
  }
  .mh1-m {
    margin-left: .25rem;
    margin-right: .25rem;
  }
  .mh2-m {
    margin-left: .5rem;
    margin-right: .5rem;
  }
  .mh3-m {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .mh4-m {
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .mh5-m {
    margin-left: 4rem;
    margin-right: 4rem;
  }
  .mh6-m {
    margin-left: 8rem;
    margin-right: 8rem;
  }
  .mh7-m {
    margin-left: 16rem;
    margin-right: 16rem;
  }

}

@media screen and (min-width: 75em) {
  .pa0-l  {  padding: 0; }
  .pa1-l {  padding: .25rem; }
  .pa2-l  {  padding: .5rem; }
  .pa3-l  {  padding: 1rem; }
  .pa4-l  {  padding: 2rem; }
  .pa5-l  {  padding: 4rem; }
  .pa6-l {  padding: 8rem; }
  .pa7-l { padding: 16rem; }

  .pl0-l  {  padding-left: 0; }
  .pl1-l {  padding-left: .25rem; }
  .pl2-l  {  padding-left: .5rem; }
  .pl3-l  {  padding-left: 1rem; }
  .pl4-l  {  padding-left: 2rem; }
  .pl5-l  {  padding-left: 4rem; }
  .pl6-l {  padding-left: 8rem; }
  .pl7-l { padding-left: 16rem; }

  .pr0-l  {  padding-right: 0; }
  .pr1-l {  padding-right: .25rem; }
  .pr2-l  {  padding-right: .5rem; }
  .pr3-l  {  padding-right: 1rem; }
  .pr4-l  {  padding-right: 2rem; }
  .pr5-l  {  padding-right: 4rem; }
  .pr6-l {  padding-right: 8rem; }
  .pr7-l { padding-right: 16rem; }

  .pb0-l  {  padding-bottom: 0; }
  .pb1-l {  padding-bottom: .25rem; }
  .pb2-l  {  padding-bottom: .5rem; }
  .pb3-l  {  padding-bottom: 1rem; }
  .pb4-l  {  padding-bottom: 2rem; }
  .pb5-l  {  padding-bottom: 4rem; }
  .pb6-l {  padding-bottom: 8rem; }
  .pb7-l { padding-bottom: 16rem; }

  .pt0-l  {  padding-top: 0; }
  .pt1-l {  padding-top: .25rem; }
  .pt2-l  {  padding-top: .5rem; }
  .pt3-l  {  padding-top: 1rem; }
  .pt4-l  {  padding-top: 2rem; }
  .pt5-l  {  padding-top: 4rem; }
  .pt6-l {  padding-top: 8rem; }
  .pt7-l { padding-top: 16rem; }

  .pv0-l {
    padding-top: 0;
    padding-bottom: 0;
  }
  .pv1-l {
    padding-top: .25rem;
    padding-bottom: .25rem;
  }
  .pv2-l {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .pv3-l {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .pv4-l {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .pv5-l {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .pv6-l {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  .pv7-l {
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  .ph0-l {
    padding-left: 0;
    padding-right: 0;
  }
  .ph1-l {
    padding-left: .25rem;
    padding-right: .25rem;
  }
  .ph2-l {
    padding-left: .5rem;
    padding-right: .5rem;
  }
  .ph3-l {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .ph4-l {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .ph5-l {
    padding-left: 4rem;
    padding-right: 4rem;
  }
  .ph6-l {
    padding-left: 8rem;
    padding-right: 8rem;
  }
  .ph7-l {
    padding-left: 16rem;
    padding-right: 16rem;
  }

  .ma0-l  {  margin: 0; }
  .ma1-l {  margin: .25rem; }
  .ma2-l  {  margin: .5rem; }
  .ma3-l  {  margin: 1rem; }
  .ma4-l  {  margin: 2rem; }
  .ma5-l  {  margin: 4rem; }
  .ma6-l {  margin: 8rem; }
  .ma7-l { margin: 16rem; }

  .ml0-l  {  margin-left: 0; }
  .ml1-l {  margin-left: .25rem; }
  .ml2-l  {  margin-left: .5rem; }
  .ml3-l  {  margin-left: 1rem; }
  .ml4-l  {  margin-left: 2rem; }
  .ml5-l  {  margin-left: 4rem; }
  .ml6-l {  margin-left: 8rem; }
  .ml7-l { margin-left: 16rem; }

  .mr0-l  {  margin-right: 0; }
  .mr1-l {  margin-right: .25rem; }
  .mr2-l  {  margin-right: .5rem; }
  .mr3-l  {  margin-right: 1rem; }
  .mr4-l  {  margin-right: 2rem; }
  .mr5-l  {  margin-right: 4rem; }
  .mr6-l {  margin-right: 8rem; }
  .mr7-l { margin-right: 16rem; }

  .mb0-l  {  margin-bottom: 0; }
  .mb1-l {  margin-bottom: .25rem; }
  .mb2-l  {  margin-bottom: .5rem; }
  .mb3-l  {  margin-bottom: 1rem; }
  .mb4-l  {  margin-bottom: 2rem; }
  .mb5-l  {  margin-bottom: 4rem; }
  .mb6-l {  margin-bottom: 8rem; }
  .mb7-l { margin-bottom: 16rem; }

  .mt0-l  {  margin-top: 0; }
  .mt1-l {  margin-top: .25rem; }
  .mt2-l  {  margin-top: .5rem; }
  .mt3-l  {  margin-top: 1rem; }
  .mt4-l  {  margin-top: 2rem; }
  .mt5-l  {  margin-top: 4rem; }
  .mt6-l {  margin-top: 8rem; }
  .mt7-l { margin-top: 16rem; }

  .mv0-l {
    margin-top: 0;
    margin-bottom: 0;
  }
  .mv1-l {
    margin-top: .25rem;
    margin-bottom: .25rem;
  }
  .mv2-l {
    margin-top: .5rem;
    margin-bottom: .5rem;
  }
  .mv3-l {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .mv4-l {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .mv5-l {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .mv6-l {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
  .mv7-l {
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  .mh0-l {
    margin-left: 0;
    margin-right: 0;
  }
  .mh1-l {
    margin-left: .25rem;
    margin-right: .25rem;
  }
  .mh2-l {
    margin-left: .5rem;
    margin-right: .5rem;
  }
  .mh3-l {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .mh4-l {
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .mh5-l {
    margin-left: 4rem;
    margin-right: 4rem;
  }
  .mh6-l {
    margin-left: 8rem;
    margin-right: 8rem;
  }
  .mh7-l {
    margin-left: 16rem;
    margin-right: 16rem;
  }
}

/*

  TABLES
  Docs: http://tachyons.io/docs/elements/tables/

*/

.collapse {
    border-collapse: collapse;
    border-spacing: 0;
}

.striped--light-silver:nth-child(odd) {
  background-color: #aaa;
}

.striped--moon-gray:nth-child(odd) {
  background-color: #ccc;
}

.striped--light-gray:nth-child(odd) {
  background-color: #eee;
}

.striped--near-white:nth-child(odd) {
  background-color: #f4f4f4;
}

.stripe-light:nth-child(odd) {
  background-color: rgba(255, 255, 255, .1);
}

.stripe-dark:nth-child(odd) {
  background-color: rgba(0, 0, 0, .1);
}

/*

   TEXT DECORATION
   Docs: http://tachyons.io/docs/typography/text-decoration/


   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.strike       { text-decoration: line-through; }

.underline    { text-decoration: underline; }

.no-underline { text-decoration: none; }

@media screen and (min-width: 37.5em) {
  .strike-ns       { text-decoration: line-through; }
  .underline-ns    { text-decoration: underline; }
  .no-underline-ns { text-decoration: none; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .strike-m       { text-decoration: line-through; }
  .underline-m    { text-decoration: underline; }
  .no-underline-m { text-decoration: none; }
}

@media screen and (min-width: 75em) {
  .strike-l       { text-decoration: line-through; }
  .underline-l {    text-decoration: underline; }
  .no-underline-l { text-decoration: none; }
}

/*

  TEXT ALIGN
  Docs: http://tachyons.io/docs/typography/text-align/

  Base
    t = text-align

  Modifiers
    l = left
    r = right
    c = center

  Media Query Extensions:
    -ns = not-small
    -m  = medium
    -l  = large

*/

.tl  { text-align: left; }

.tr  { text-align: right; }

.tc  { text-align: center; }

@media screen and (min-width: 37.5em) {
  .tl-ns  { text-align: left; }
  .tr-ns  { text-align: right; }
  .tc-ns  { text-align: center; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .tl-m  { text-align: left; }
  .tr-m  { text-align: right; }
  .tc-m  { text-align: center; }
}

@media screen and (min-width: 75em) {
  .tl-l  { text-align: left; }
  .tr-l  { text-align: right; }
  .tc-l  { text-align: center; }
}

/*

   TEXT TRANSFORM
   Docs: http://tachyons.io/docs/typography/text-transform/

   Base:
     tt = text-transform

   Modifiers
     c = capitalize
     l = lowercase
     u = uppercase
     n = none

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.ttc { text-transform: capitalize; }

.ttl { text-transform: lowercase; }

.ttu { text-transform: uppercase; }

.ttn { text-transform: none; }

@media screen and (min-width: 37.5em) {
  .ttc-ns { text-transform: capitalize; }
  .ttl-ns { text-transform: lowercase; }
  .ttu-ns { text-transform: uppercase; }
  .ttn-ns { text-transform: none; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .ttc-m { text-transform: capitalize; }
  .ttl-m { text-transform: lowercase; }
  .ttu-m { text-transform: uppercase; }
  .ttn-m { text-transform: none; }
}

@media screen and (min-width: 75em) {
  .ttc-l { text-transform: capitalize; }
  .ttl-l { text-transform: lowercase; }
  .ttu-l { text-transform: uppercase; }
  .ttn-l { text-transform: none; }
}

/*

   TYPE SCALE
   Docs: http://tachyons.io/docs/typography/scale/

   Base:
    f = font-size

   Modifiers
     1 = 1st step in size scale
     2 = 2nd step in size scale
     3 = 3rd step in size scale
     4 = 4th step in size scale
     5 = 5th step in size scale
     6 = 6th step in size scale

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large
*/

/*
 * For Hero/Marketing Titles
 *
 * These generally are too large for mobile
 * so be careful using them on smaller screens.
 * */

.f-6,
.f-headline {
  font-size: 96px;
  font-size: 6rem;
}

.f-5,
.f-subheadline {
  font-size: 80px;
  font-size: 5rem;
}

/* Type Scale */

.f1 { font-size: 48px; font-size: 3rem; }

.f2 { font-size: 36px; font-size: 2.25rem; }

.f3 { font-size: 24px; font-size: 1.5rem; }

.f4 { font-size: 20px; font-size: 1.25rem; }

.f5 { font-size: 16px; font-size: 1rem; }

.f6 { font-size: 14px; font-size: .875rem; }

.f7 { font-size: 12px; font-size: 0.75rem; }

@media screen and (min-width: 37.5em){
  .f-6-ns,
  .f-headline-ns { font-size: 6rem; }
  .f-5-ns,
  .f-subheadline-ns { font-size: 5rem; }
  .f1-ns { font-size: 3rem; }
  .f2-ns { font-size: 2.25rem; }
  .f3-ns { font-size: 1.5rem; }
  .f4-ns { font-size: 1.25rem; }
  .f5-ns { font-size: 1rem; }
  .f6-ns { font-size: .875rem; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .f-6-m,
  .f-headline-m { font-size: 6rem; }
  .f-5-m,
  .f-subheadline-m { font-size: 5rem; }
  .f1-m { font-size: 3rem; }
  .f2-m { font-size: 2.25rem; }
  .f3-m { font-size: 1.5rem; }
  .f4-m { font-size: 1.25rem; }
  .f5-m { font-size: 1rem; }
  .f6-m { font-size: .875rem; }
}

@media screen and (min-width: 75em) {
  .f-6-l,
  .f-headline-l {
    font-size: 6rem;
  }
  .f-5-l,
  .f-subheadline-l {
    font-size: 5rem;
  }
  .f1-l { font-size: 3rem; }
  .f2-l { font-size: 2.25rem; }
  .f3-l { font-size: 1.5rem; }
  .f4-l { font-size: 1.25rem; }
  .f5-l { font-size: 1rem; }
  .f6-l { font-size: .875rem; }
}

/*

   TYPOGRAPHY
   http://tachyons.io/docs/typography/measure/

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

/* Measure is limited to ~66 characters */

.measure {
  max-width: 30em;
}

/* Measure is limited to ~80 characters */

.measure-wide {
  max-width: 34em;
}

/* Measure is limited to ~45 characters */

.measure-narrow {
  max-width: 20em;
}

/* Book paragraph style - paragraphs are indented with no vertical spacing. */

.indent {
  text-indent: 1em;
  margin-top: 0;
  margin-bottom: 0;
}

.small-caps {
  -webkit-font-feature-settings: "c2sc";
          font-feature-settings: "c2sc";
  font-variant: small-caps;
}

/* Combine this class with a width to truncate text (or just leave as is to truncate at width of containing element. */

.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (min-width: 37.5em) {
  .measure-ns  {
    max-width: 30em;
  }
  .measure-wide-ns {
    max-width: 34em;
  }
  .measure-narrow-ns {
    max-width: 20em;
  }
  .indent-ns {
    text-indent: 1em;
    margin-top: 0;
    margin-bottom: 0;
  }
  .small-caps-ns {
    -webkit-font-feature-settings: "c2sc";
            font-feature-settings: "c2sc";
    font-variant: small-caps;
  }
  .truncate-ns {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .measure-m {
    max-width: 30em;
  }
  .measure-wide-m {
    max-width: 34em;
  }
  .measure-narrow-m {
    max-width: 20em;
  }
  .indent-m {
    text-indent: 1em;
    margin-top: 0;
    margin-bottom: 0;
  }
  .small-caps-m {
    -webkit-font-feature-settings: "c2sc";
            font-feature-settings: "c2sc";
    font-variant: small-caps;
  }
  .truncate-m {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media screen and (min-width: 75em) {
  .measure-l {
    max-width: 30em;
  }
  .measure-wide-l {
    max-width: 34em;
  }
  .measure-narrow-l {
    max-width: 20em;
  }
  .indent-l {
    text-indent: 1em;
    margin-top: 0;
    margin-bottom: 0;
  }
  .small-caps-l {
    -webkit-font-feature-settings: "c2sc";
            font-feature-settings: "c2sc";
    font-variant: small-caps;
  }
  .truncate-l {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/*

   UTILITIES

*/

/* This is for fluid media that is embedded from third party sites like youtube, vimeo etc.
 * Wrap the outer element in aspect-ratio and then extend it with the desired ratio i.e
 * Make sure there are no height and width attributes on the embedded media.
 * Adapted from: https://github.com/suitcss/components-flex-embed
 *
 * Example:
 *
 * <div class="aspect-ratio aspect-ratio--16x9">
 *  <iframe class="aspect-ratio--object"></iframe>
 * </div>
 *
 * */

.aspect-ratio {
  height: 0;
  position: relative;
}

.aspect-ratio--16x9 { padding-bottom: 56.25%; }

.aspect-ratio--9x16 { padding-bottom: 177.77%; }

.aspect-ratio--4x3 {  padding-bottom: 75%; }

.aspect-ratio--3x4 {  padding-bottom: 133.33%; }

.aspect-ratio--6x4 {  padding-bottom: 66.6%; }

.aspect-ratio--4x6 {  padding-bottom: 150%; }

.aspect-ratio--8x5 {  padding-bottom: 62.5%; }

.aspect-ratio--5x8 {  padding-bottom: 160%; }

.aspect-ratio--7x5 {  padding-bottom: 71.42%; }

.aspect-ratio--5x7 {  padding-bottom: 140%; }

.aspect-ratio--1x1 {  padding-bottom: 100%; }

.aspect-ratio--object {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
}

.overflow-container {
  overflow-y: scroll;
}

.center {
  margin-right: auto;
  margin-left: auto;
}

/*

   VISIBILITY

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

/*
    Text that is hidden but accessible
    Ref: http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*/

.clip {
  position: fixed !important;
  _position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
}

@media screen and (min-width: 37.5em) {
  .clip-ns {
    position: fixed !important;
    _position: absolute !important;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
  }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .clip-m {
    position: fixed !important;
    _position: absolute !important;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
  }
}

@media screen and (min-width: 75em) {
  .clip-l {
    position: fixed !important;
    _position: absolute !important;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
  }
}

/*

   WHITE SPACE

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.ws-normal { white-space: normal; }

.nowrap { white-space: nowrap; }

.pre { white-space: pre; }

@media screen and (min-width: 37.5em) {
  .ws-normal-ns { white-space: normal; }
  .nowrap-ns { white-space: nowrap; }
  .pre-ns { white-space: pre; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .ws-normal-m { white-space: normal; }
  .nowrap-m { white-space: nowrap; }
  .pre-m { white-space: pre; }
}

@media screen and (min-width: 75em) {
  .ws-normal-l { white-space: normal; }
  .nowrap-l { white-space: nowrap; }
  .pre-l { white-space: pre; }
}

/*

   VERTICAL ALIGN

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/

.v-base     { vertical-align: baseline; }

.v-mid      { vertical-align: middle; }

.v-top      { vertical-align: top; }

.v-btm      { vertical-align: bottom; }

@media screen and (min-width: 37.5em) {
  .v-base-ns     { vertical-align: baseline; }
  .v-mid-ns      { vertical-align: middle; }
  .v-top-ns      { vertical-align: top; }
  .v-btm-ns      { vertical-align: bottom; }
}

@media screen and (min-width: 37.5em) and (max-width: 75em) {
  .v-base-m     { vertical-align: baseline; }
  .v-mid-m      { vertical-align: middle; }
  .v-top-m      { vertical-align: top; }
  .v-btm-m      { vertical-align: bottom; }
}

@media screen and (min-width: 75em) {
  .v-base-l     { vertical-align: baseline; }
  .v-mid-l      { vertical-align: middle; }
  .v-top-l      { vertical-align: top; }
  .v-btm-l      { vertical-align: bottom; }
}

/*

  HOVER EFFECTS
  Docs: http://tachyons.io/docs/themes/hovers/

    - Dim
    - Hide Child
    - Underline text
    - Grow
    - Pointer
    - Shadow

*/

/*

  Dim element on hover by adding the dim class.

*/

.dim {
  opacity: 1;
  transition: opacity .15s ease-in;
}

.dim:hover,
.dim:focus {
  opacity: .75;
  transition: opacity .15s ease-in;
}

.dim:active {
  opacity: .8; transition: opacity .15s ease-out;
}

/*

  Hide child & reveal on hover:

  Put the hide-child class on a parent element and any nested element with the
  child class will be hidden and displayed on hover or focus.

  <div class="hide-child">
    <div class="child"> Hidden until hover or focus </div>
    <div class="child"> Hidden until hover or focus </div>
    <div class="child"> Hidden until hover or focus </div>
    <div class="child"> Hidden until hover or focus </div>
  </div>
*/

.hide-child .child {
  opacity: 0;
  transition: opacity .15s ease-in;
}

.hide-child:hover  .child,
.hide-child:focus  .child,
.hide-child:active .child {
  opacity: 1;
  transition: opacity .15s ease-in;
}

.underline-hover:hover,
.underline-hover:focus {
  text-decoration: underline;
}

/* Can combine this with overflow-hidden to make background images grow on hover
 * even if you are using background-size: cover */

.grow {
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.grow:hover,
.grow:focus {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.grow:active {
  -webkit-transform: scale(.90);
          transform: scale(.90);
}

.grow-large {
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  transition: -webkit-transform .25s ease-in-out;
  transition: transform .25s ease-in-out;
  transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out;
}

.grow-large:hover,
.grow-large:focus {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.grow-large:active {
  -webkit-transform: scale(.95);
          transform: scale(.95);
}

/* Add pointer on hover */

.pointer:hover {
  cursor: pointer;
}

/*
   Add shadow on hover.

   Performant box-shadow animation pattern from
   http://tobiasahlin.com/blog/how-to-animate-box-shadow/
*/

.shadow-hover::after {
  box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2);
  opacity: 0;
  transition: opacity .25s ease-in-out;
}

.shadow-hover:hover::after,
.shadow-hover:focus::after {
  opacity: 1;
}

/* Combine with classes in skins and skins-pseudo for
 * thousands of different transition possibilities. */

.bg-animate,
.bg-animate:hover,
.bg-animate:focus {
  transition: background-color .15s ease-in-out;
}

/*

  Z-INDEX

  Base
    z = z-index

  Modifiers
    -0 = literal value 0
    -1 = literal value 1
    -2 = literal value 2
    -3 = literal value 3
    -4 = literal value 4
    -5 = literal value 5
    -999 = literal value 999
    -9999 = literal value 9999

    -max = largest accepted z-index value as integer

    -inherit = string value inherit
    -initial = string value initial
    -unset = string value unset

  MDN: https://developer.mozilla.org/en/docs/Web/CSS/z-index
  Spec: http://www.w3.org/TR/CSS2/zindex.html
  Articles:
    https://philipwalton.com/articles/what-no-one-told-you-about-z-index/

  Tips on extending:
  There might be a time worth using negative z-index values.
  Or if you are using tachyons with another project, you might need to
  adjust these values to suit your needs.

*/

.z-0 { z-index: 0; }

.z-1 { z-index: 1; }

.z-2 { z-index: 2; }

.z-3 { z-index: 3; }

.z-4 { z-index: 4; }

.z-5 { z-index: 5; }

.z-999 { z-index: 999; }

.z-9999 { z-index: 9999; }

.z-max {
  z-index: 2147483647;
}

.z-inherit { z-index: inherit; }

.z-initial { z-index: auto; z-index: initial; }

.z-unset { z-index: unset; }

/*

  STYLES

  Add custom styles here.

*/

/* Uncomment out the line below to help debug layout issues */

/* @import './_debug'; */

.bg-white-95 { background-color: rgba(255, 255, 255, .95); }

.flex-1 { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

a.gray,
a.gray:visited {
  color: #777;
}

a.silver,
a.silver:visited {
  color: #999;
}

a.near-black,
a.near-black:visited {
  color: #111;
}

a.white,
a.white:visited {
  color: #fff;
}

a.moon-gray,
a.moon-gray:visited {
  color: #ccc;
}

.center-hv {
  /* Parent must be absolute */
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.veil:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, .6);

}

.measure-wider {
  max-width: 38em;
}

@media screen and (min-width: 37.5em) {
  .bg-black-70-ns { background-color: rgba(0, 0, 0, .7) }
}

.lh-2 { line-height: 2 }

@media screen and (min-width: 75em) {
  .lh-xlarge-l { line-height: 2.75 }
}

@media screen and (min-width: 63.75em) {
  .dn-nav   { display: none; }
  .db-nav   { display: block; }
  .dib-nav   { display: inline-block; }
  .flex-nav { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .mt0-nav  { margin-top: 0; }
  .mb0-nav  { margin-bottom: 0; }
  .ml2-nav  { margin-left: .5rem; }
  .ml3-nav  { margin-left: 1rem; }
}

.no-underline:hover {
  text-decoration: none;
}

.mb5-neg {
  margin-bottom: -64px;
  margin-bottom: -4rem;
}

/* Variables */

/* Importing here will allow you to override any variables in the modules */

/*

   Tachyons
   COLOR VARIABLES

   Grayscale
   - Solids
   - Transparencies
   Colors

*/

/*

  CUSTOM MEDIA QUERIES

  Media query values can be changed to fit your own content.
  There are no magic bullets when it comes to media query width values.
  They should be declared in em units - and they should be set to meet
  the needs of your content. You can also add additional media queries,
  or remove some of the existing ones.

  These media queries can be referenced like so:

  @media (--breakpoint-not-small) {
    .medium-and-larger-specific-style {
      background-color: red;
    }
  }

  @media (--breakpoint-medium) {
    .medium-screen-specific-style {
      background-color: red;
    }
  }

  @media (--breakpoint-large) {
    .large-and-larger-screen-specific-style {
      background-color: red;
    }
  }

*/

/* Media Queries */

/* Debugging */

/*

  DEBUG CHILDREN
  Docs: http://tachyons.io/docs/debug/

  Just add the debug class to any element to see outlines on its
  children.

*/

.debug * { outline: 1px solid gold; }

.debug-white * { outline: 1px solid white; }

.debug-black * { outline: 1px solid black; }

/*

   DEBUG GRID
   http://tachyons.io/docs/debug-grid/

   Can be useful for debugging layout issues
   or helping to make sure things line up perfectly.
   Just tack one of these classes onto a parent element.

*/

.debug-grid {
  background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat top left;
}

.debug-grid-16 {
  background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat top left;
}

.debug-grid-8-solid {
  background:white url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat top left;
}

.debug-grid-16-solid {
  background:white url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat top left;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19ub3JtYWxpemUuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvYmFzZS5xdWFya3MuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3Mvb2JqZWN0cy5sYXlvdXRzLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL29iamVjdHMucGFnZS5jc3MiLCI8bm8gc291cmNlPiIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL29iamVjdHMuYnJhbmRpbmcuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3Mvb2JqZWN0cy5uYXYuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvY29tcG9uZW50cy5icmVhZGNydW1icy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy9jb21wb25lbnRzLnNjcmltLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL2NvbXBvbmVudHMuY2FwdGlvbnMuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvY29tcG9uZW50cy5pY29ucy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy9jb21wb25lbnRzLnBhZ2UuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvY29tcG9uZW50cy5idXR0b25zLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3BsdWdpbnMuc3dpcGVyLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3BsdWdpbnMucGhvdG9zd2lwZS5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy9wbHVnaW5zLnBob3Rvc3dpcGUtc2tpbi5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy9qcy5kaWFsb2cuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvanMuc3dpcGVyLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3V0aWxpdGllcy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy90YWNoeW9ucy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fYm94LXNpemluZy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9faW1hZ2VzLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19iYWNrZ3JvdW5kLXNpemUuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2JhY2tncm91bmQtcG9zaXRpb24uY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX291dGxpbmVzLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19ib3JkZXJzLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19ib3JkZXItY29sb3JzLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19ib3JkZXItcmFkaXVzLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19ib3JkZXItc3R5bGUuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2JvcmRlci13aWR0aHMuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2JveC1zaGFkb3cuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2NvZGUuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2Nvb3JkaW5hdGVzLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19jbGVhcnMuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2Rpc3BsYXkuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2ZsZXhib3guY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2Zsb2F0cy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fZm9udC1mYW1pbHkuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2ZvbnQtc3R5bGUuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2ZvbnQtd2VpZ2h0LmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19mb3Jtcy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9faGVpZ2h0cy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fbGV0dGVyLXNwYWNpbmcuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2xpbmUtaGVpZ2h0LmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19saW5rcy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fbGlzdHMuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX21heC13aWR0aHMuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3dpZHRocy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fb3ZlcmZsb3cuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3Bvc2l0aW9uLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19vcGFjaXR5LmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19za2lucy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fc2tpbnMtcHNldWRvLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19zcGFjaW5nLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL190YWJsZXMuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3RleHQtZGVjb3JhdGlvbi5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fdGV4dC1hbGlnbi5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fdGV4dC10cmFuc2Zvcm0uY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3R5cGUtc2NhbGUuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3R5cG9ncmFwaHkuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3V0aWxpdGllcy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fdmlzaWJpbGl0eS5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fd2hpdGUtc3BhY2UuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3ZlcnRpY2FsLWFsaWduLmNzcyIsIi4uLy4uLy4uL3NyYy9wb3N0Y3NzL3RhY2h5b25zL19ob3ZlcnMuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3otaW5kZXguY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX3N0eWxlcy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy5zdHlsZXMuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3Mvc3R5bGUuY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2NvbG9ycy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fbWVkaWEtcXVlcmllcy5jc3MiLCIuLi8uLi8uLi9zcmMvcG9zdGNzcy90YWNoeW9ucy9fZGVidWctY2hpbGRyZW4uY3NzIiwiLi4vLi4vLi4vc3JjL3Bvc3Rjc3MvdGFjaHlvbnMvX2RlYnVnLWdyaWQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTs7QUFFM0U7Ozs7R0FJRzs7QUFFSDtFQUNFLHdCQUF3QixDQUFDLE9BQU87RUFDaEMsa0JBQWtCLENBQUMsT0FBTztFQUMxQiwyQkFBMkIsQ0FBQyxPQUFPO0VBQ25DLCtCQUErQixDQUFDLE9BQU87Q0FDeEM7O0FBRUQ7O0dBRUc7O0FBRUg7RUFDRSxVQUFVO0NBQ1g7O0FBRUQ7Z0ZBQ2dGOztBQUVoRjs7OztHQUlHOztBQUVIOzs7Ozs7Ozs7OztVQVdVLE9BQU87RUFDZixl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QUN2a0Q7O0FBRUQ7RUFDRSxxMENBQXEwQztDQUN0MEMiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLCAvKiAxICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbiwgLyogMiAqL1xubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSwgLyogMSAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDcwMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41NDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG4iLCJAY3VzdG9tLXNlbGVjdG9yIDotLWhlYWRlcnMgaDEsIGgyLCBoMywgaDQsIGg1LCBoNjtcblxuaHRtbCxcbmJvZHkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtaW4taGVpZ2h0OiAxMDAlOyAvKiBGb3Igc3RpY2t5IGZvb3RlciAqL1xuICBjb2xvcjogdmFyKC0tZGFyay1ncmF5KTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIGhlbHZldGljYSwgc2Fucy1zZXJpZjtcbn1cblxuXG5cbjotLWhlYWRlcnMsXG51bCwgb2wsIGRkLFxucCwgZmlndXJlLFxucHJlLCB0YWJsZSwgZmllbGRzZXQsIGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuXG5cbjotLWhlYWRlcnMge1xuICBjb2xvcjogdmFyKC0tbmVhci1ibGFjayk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5cblxuYSxcbmE6dmlzaXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1ibHVlKTtcbn1cblxuYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cblxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5saSB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0Jz48cmVjdCBmaWxsPSclMjM5OTknIHg9JzAnIHk9JzAnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIC8+PC9zdmc+XCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLjQ1ZW0gLjY1ZW07XG4gIHBhZGRpbmctbGVmdDogMS4zZW07XG59XG5cbiAgLmxpc3QgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cblxuXG5pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG5cblxuLmF1ZGlibGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpOyAvKiBJRTYsIElFNyAqL1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xuICBib3JkZXI6MCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiAgYm9keTpob3ZlciAuYXVkaWJsZSBhLFxuICBib2R5OmhvdmVyIC5hdWRpYmxlIGlucHV0LFxuICBib2R5OmhvdmVyIC5hdWRpYmxlIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4iLCIuTC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDMwZW07XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcblxuICBAbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgICBtYXgtd2lkdGg6IDYwZW07XG4gICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIH1cblxuICBAbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAgIG1heC13aWR0aDogOTBlbTtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICB9XG59XG5cbi5MLWNvbnRhaW5lci0tbGFyZ2Uge1xuICBAbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgICBtYXgtd2lkdGg6IDkwZW07XG4gICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIH1cbn1cblxuLkwtMi1jb2xzLWwge1xuICBAbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgfVxufVxuXG4uZnVsbC13aWR0aCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7XG59IiwiLlBhZ2UtdGl0bGUge1xuICBmb250LXNpemUtcmVzcG9uc2l2ZTogMnJlbSA0cmVtIDM3LjVlbSA3NWVtO1xufVxuXG4udGl0bGUtZmFuY3kge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAxLjJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udGl0bGUtZmFuY3k6YmVmb3JlLFxuLnRpdGxlLWZhbmN5OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgY29udGVudDogXCLigJRcIiA7XG59XG5cbi50aXRsZS1mYW5jeTpiZWZvcmUge1xuICBsZWZ0OiAwO1xufVxuXG4udGl0bGUtZmFuY3k6YWZ0ZXIge1xuICByaWdodDogMDtcbn1cblxuLlBhZ2UtaGVhZGVySW1nLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjZmZmO1xufVxuIixudWxsLCIuR3JvdXAtbG9nby0tY29tcGFjdCB7XG4gIHdpZHRoOiA1cmVtO1xufTtcblxuLlByb3BlcnR5LWxvZ28tLWNvbXBhY3Qge1xuICB3aWR0aDogN3JlbTtcbiAgQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gICAgd2lkdGg6IDEwcmVtO1xuICB9XG59XG5cbi5icmFuZC1mb250IHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZiA7XG59XG5cbi50aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmxvZ28taGVpZ2h0IHtcbiAgaGVpZ2h0OiAzcmVtO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMC41cmVtIDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICB9XG5cbiAgQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gIH1cblxufVxuXG4ubG9nby1ob21lIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAtNS4zcmVtO1xuICB3aWR0aDogMTFyZW07XG5cbiAgQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gICAgbWFyZ2luLXRvcDogLTcuNnJlbTtcbiAgICB3aWR0aDogMTdyZW07XG4gIH1cbn0iLCIuY3RhQmxvZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmN0YUJsb2c6dmlzaXRlZCB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5jdGFCbG9nOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB6LWluZGV4OiAtMTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ0QjVBO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbkBtZWRpYSAoLS1icmVha3BvaW50LW5hdikge1xyXG4gIC5jdGFCbG9nOmJlZm9yZSB7XHJcbiAgICB0b3A6IC0wLjZyZW07XHJcbiAgICBib3R0b206IC0wLjdyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uY3RhQmxvZy0tZm9vdGVyOmJlZm9yZSB7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxufSIsIi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmJyZWFkY3J1bWJzIGxpIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLmJyZWFkY3J1bWJzIGxpOmFmdGVyIHtcbiAgY29udGVudDogXCLCu1wiO1xuICBjb2xvcjogI2ZmZjtcbn1cbiIsIi5zY3JpbS1mcm9tQm90dG9tLFxuLnNjcmltLWZyb21Ub3Age1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zY3JpbS1mcm9tVG9wOmFmdGVyLFxuLnNjcmltLWZyb21Cb3R0b206YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cblxuLnNjcmltLWZyb21Cb3R0b206YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBlYXNlLW91dC1zaW5lLWdyYWRpZW50KFxuICAgIHRvIHRvcCxcbiAgICB2YXIoLS1ibGFjay04MCksXG4gICAgdHJhbnNwYXJlbnRcbiAgKTtcbiAgLypiYWNrZ3JvdW5kOiBlYXNlLW91dC1xdWFkLWdyYWRpZW50KFxuICAgIHRvIHRvcCxcbiAgICB2YXIoLS1ibGFjay05MCksXG4gICAgdHJhbnNwYXJlbnRcbiAgKTsqL1xuICAvKmJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgLjIpIDYwJSwgcmdiYSgwLCAwLCAwLCAuOSkgMTAwJSk7Ki9cbn1cblxuLnNjcmltLWZyb21Ub3A6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBlYXNlLW91dC1xdWFkLWdyYWRpZW50KFxuICAgIHRvIGJvdHRvbSxcbiAgICB2YXIoLS1ibGFjay04MCksXG4gICAgdHJhbnNwYXJlbnRcbiAgKTtcbiAgLypiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsMCwwLDApIDYwJSwgcmdiYSgwLDAsMCwwLjUpIDEwMCUpOyovXG59XG5cbi5iYWNrZHJvcC1maWxlciB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xufVxuIiwiLmNhcHRpb24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogdmFyKC0tc2lsdmVyKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG59XG5cbi5jYXB0aW9uLW9uSW1nIHtcbiAgcGFkZGluZzogMnJlbSAwLjVyZW0gMC4yNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjb2xvcjogd2hpdGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogZWFzZS1vdXQtc2luZS1ncmFkaWVudChcbiAgICB0byB0b3AsXG4gICAgdmFyKC0tYmxhY2stNTApLFxuICAgIHRyYW5zcGFyZW50XG4gICk7XG59IiwiLmhhbWJ1cmdlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDg1JSA1NiU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5oYW1idXJnZXItd2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXhNaUlnYUdWcFoyaDBQU0l4TUNJZ2RtbGxkMEp2ZUQwaU1DQXdJREV5SURFd0lqNDhjR0YwYUNCbWFXeHNQU0lqUmtaR0lpQmtQU0pOTUNBd2FERXlkakpJTUhwTk1DQTBhREV5ZGpKSU1IcE5NQ0E0YURFeWRqSklNSG9pTHo0OEwzTjJaejQ9XCIpO1xufVxuXG4uaGFtYnVyZ2VyLWdyYXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXhNaUlnYUdWcFoyaDBQU0l4TUNJZ2RtbGxkMEp2ZUQwaU1DQXdJREV5SURFd0lqNDhjR0YwYUNCbWFXeHNQU0lqT1RrNUlpQmtQU0pOTUNBd2FERXlkakpJTUhwTk1DQTBhREV5ZGpKSU1IcE5NQ0E0YURFeWRqSklNSG9pTHo0OEwzTjJaejQ9XCIpO1xufVxuXG4uc29jaWFsLW5hdiBzdmcge1xuICBmaWxsOiAjZmZmO1xufSIsIi5wcm9wZXJ0eS1mb290ZXIsXHJcbi5wcm9wZXJ0eS1mb290ZXIgYSB7XHJcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxufSIsIi5idG4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xyXG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpIHZhcigtLXNwYWNpbmctc21hbGwpO1xyXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbn1cclxuXHJcbi5idG46aG92ZXIge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmJ0bi0tbWVkaXVtIHtcclxuICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXNtYWxsKSB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcclxufVxyXG5cclxuLmJ0bi0tbGFyZ2Uge1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tZWRpdW0pIHZhcigtLXNwYWNpbmctbGFyZ2UpO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XHJcbn1cclxuXHJcbi8qXHJcbiAgYnJhbmQtY29sb3JcclxuICBiYVxyXG4gIGItLWJyYW5kLWNvbG9yXHJcbiAgYncxXHJcbiAgaG92ZXItYmctYnJhbmQtY29sb3JcclxuICBob3Zlci13aGl0ZVxyXG4gIGZ3NlxyXG4gIGJnLWFuaW1hdGVcclxuKi8iLCIvKipcclxuICogU3dpcGVyIDMuNC4xXHJcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXHJcbiAqXHJcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxNiwgVmxhZGltaXIgS2hhcmxhbXBpZGlcclxuICogVGhlIGlEYW5nZXJvLnVzXHJcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvXHJcbiAqXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVFxyXG4gKlxyXG4gKiBSZWxlYXNlZCBvbjogRGVjZW1iZXIgMTMsIDIwMTZcclxuICovXHJcbi5zd2lwZXItY29udGFpbmVyIHtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXHJcbiAgei1pbmRleDogMTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuLnN3aXBlci13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xyXG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcclxuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcclxuLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xyXG4gIC13ZWJraXQtYm94LWxpbmVzOiBtdWx0aXBsZTtcclxuICAtbW96LWJveC1saW5lczogbXVsdGlwbGU7XHJcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuLnN3aXBlci1zbGlkZSB7XHJcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcclxuICAtbXMtZmxleDogMCAwIGF1dG87XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4vKiBBdXRvIEhlaWdodCAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xyXG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIGhlaWdodDtcclxuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xyXG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcclxuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcclxufVxyXG4vKiBhMTF5ICovXHJcbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgb3BhY2l0eTogMDtcclxuICB6LWluZGV4OiAtMTAwMDtcclxufVxyXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xyXG4uc3dpcGVyLXdwOC1ob3Jpem9udGFsIHtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICB0b3VjaC1hY3Rpb246IHBhbi15O1xyXG59XHJcbi5zd2lwZXItd3A4LXZlcnRpY2FsIHtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcclxuICB0b3VjaC1hY3Rpb246IHBhbi14O1xyXG59XHJcbi8qIEFycm93cyAqL1xyXG4vKi5zd2lwZXItYnV0dG9uLXByZXYsXHJcbi5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICB3aWR0aDogMjdweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbWFyZ2luLXRvcDogLTIycHg7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XHJcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXHJcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XHJcbiAgb3BhY2l0eTogMC4zNTtcclxuICBjdXJzb3I6IGF1dG87XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLnN3aXBlci1idXR0b24tcHJldixcclxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xyXG4gIGxlZnQ6IDEwcHg7XHJcbiAgcmlnaHQ6IGF1dG87XHJcbn1cclxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xyXG59XHJcbi5zd2lwZXItYnV0dG9uLW5leHQsXHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcclxuICByaWdodDogMTBweDtcclxuICBsZWZ0OiBhdXRvO1xyXG59XHJcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcclxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XHJcbn1cclxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcclxufSovXHJcbi8qIFBhZ2luYXRpb24gU3R5bGVzICovXHJcbi8qLnN3aXBlci1wYWdpbmF0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXM7XHJcbiAgLW1vei10cmFuc2l0aW9uOiAzMDBtcztcclxuICAtby10cmFuc2l0aW9uOiAzMDBtcztcclxuICB0cmFuc2l0aW9uOiAzMDBtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn0qL1xyXG4vKiBDb21tb24gU3R5bGVzICovXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcclxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcclxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcclxuICBib3R0b206IDEwcHg7XHJcbiAgbGVmdDogMDtcclxuICAvKndpZHRoOiAxMDAlOyovXHJcbn1cclxuLyogQnVsbGV0cyAqL1xyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICB3aWR0aDogOHB4O1xyXG4gIGhlaWdodDogOHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgb3BhY2l0eTogMC4yO1xyXG59XHJcbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcbiAgdG9wOiA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XHJcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtNTAlKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIG1hcmdpbjogNXB4IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIG1hcmdpbjogMCA1cHg7XHJcbn1cclxuLyogUHJvZ3Jlc3MgKi9cclxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcclxuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcclxuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xyXG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA0cHg7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Mge1xyXG4gIHdpZHRoOiA0cHg7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcy5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcy5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxufVxyXG4vKiAzRCBDb250YWluZXIgKi9cclxuLnN3aXBlci1jb250YWluZXItM2Qge1xyXG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICAtbW96LXBlcnNwZWN0aXZlOiAxMjAwcHg7XHJcbiAgLW8tcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgLW1vei10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIC1tcy10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcclxuICAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xyXG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xyXG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XHJcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXHJcbn1cclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcclxuICAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XHJcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xyXG59XHJcbi8qIENvdmVyZmxvdyAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItd3JhcHBlciB7XHJcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xyXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4O1xyXG59XHJcbi8qIEN1YmUgKyBGbGlwICovXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcclxuICB6LWluZGV4OiAwO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi8qIEN1YmUgKi9cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XHJcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICBvcGFjaXR5OiAwLjY7XHJcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XHJcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xyXG4gIHotaW5kZXg6IDA7XHJcbn1cclxuLyogRmFkZSAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XHJcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG4gIC1tb3otYm94LXBhY2s6IGNlbnRlcjtcclxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2ZyxcclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG4vKiBTY3JvbGxiYXIgKi9cclxuLnN3aXBlci1zY3JvbGxiYXIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDElO1xyXG4gIGJvdHRvbTogM3B4O1xyXG4gIHotaW5kZXg6IDUwO1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHdpZHRoOiA5OCU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAzcHg7XHJcbiAgdG9wOiAxJTtcclxuICB6LWluZGV4OiA1MDtcclxuICB3aWR0aDogNXB4O1xyXG4gIGhlaWdodDogOTglO1xyXG59XHJcbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbn1cclxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xyXG4gIGN1cnNvcjogbW92ZTtcclxufVxyXG4vKiBQcmVsb2FkZXIgKi9cclxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XHJcbiAgd2lkdGg6IDQycHg7XHJcbiAgaGVpZ2h0OiA0MnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xyXG4gIG1hcmdpbi10b3A6IC0yMXB4O1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xyXG4gIC1tb3otYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XHJcbn1cclxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzNmM2YzZjJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcclxuICAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcbiIsIi8qISBQaG90b1N3aXBlIG1haW4gQ1NTIGJ5IERtaXRyeSBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gfCBNSVQgbGljZW5zZSAqL1xyXG4vKlxyXG4gIFN0eWxlcyBmb3IgYmFzaWMgUGhvdG9Td2lwZSBmdW5jdGlvbmFsaXR5IChzbGlkaW5nIGFyZWEsIG9wZW4vY2xvc2UgdHJhbnNpdGlvbnMpXHJcbiovXHJcbi8qIHBzd3AgPSBwaG90b3N3aXBlICovXHJcbi5wc3dwIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcclxuICB6LWluZGV4OiAxNTAwO1xyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuICAvKiBjcmVhdGUgc2VwYXJhdGUgbGF5ZXIsIHRvIGF2b2lkIHBhaW50IG9uIHdpbmRvdy5vbnNjcm9sbCBpbiB3ZWJraXQvYmxpbmsgKi9cclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBvdXRsaW5lOiBub25lOyB9XHJcbiAgLnBzd3AgKiB7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAucHN3cCBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiBub25lOyB9XHJcblxyXG4vKiBzdHlsZSBpcyBhZGRlZCB3aGVuIEpTIG9wdGlvbiBzaG93SGlkZU9wYWNpdHkgaXMgc2V0IHRvIHRydWUgKi9cclxuLnBzd3AtLWFuaW1hdGVfb3BhY2l0eSB7XHJcbiAgLyogMC4wMDEsIGJlY2F1c2Ugb3BhY2l0eTowIGRvZXNuJ3QgdHJpZ2dlciBQYWludCBhY3Rpb24sIHdoaWNoIGNhdXNlcyBsYWcgYXQgc3RhcnQgb2YgdHJhbnNpdGlvbiAqL1xyXG4gIG9wYWNpdHk6IDAuMDAxO1xyXG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xyXG4gIC8qIGZvciBvcGVuL2Nsb3NlIHRyYW5zaXRpb24gKi9cclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpOyB9XHJcblxyXG4ucHN3cC0tb3BlbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2ltZyB7XHJcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcclxuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcclxuICBjdXJzb3I6IHpvb20taW47IH1cclxuXHJcbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2ltZyB7XHJcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cclxuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcclxuICBjdXJzb3I6IC1tb3otZ3JhYjtcclxuICBjdXJzb3I6IGdyYWI7IH1cclxuXHJcbi5wc3dwLS1kcmFnZ2luZyAucHN3cF9faW1nIHtcclxuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xyXG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcclxuICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7XHJcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxyXG5cclxuLypcclxuICBCYWNrZ3JvdW5kIGlzIGFkZGVkIGFzIGEgc2VwYXJhdGUgZWxlbWVudC5cclxuICBBcyBhbmltYXRpbmcgb3BhY2l0eSBpcyBtdWNoIGZhc3RlciB0aGFuIGFuaW1hdGluZyByZ2JhKCkgYmFja2dyb3VuZC1jb2xvci5cclxuKi9cclxuLnBzd3BfX2JnIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7IH1cclxuXHJcbi5wc3dwX19zY3JvbGwtd3JhcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvdmVyZmxvdzogaGlkZGVuOyB9XHJcblxyXG4ucHN3cF9fY29udGFpbmVyLFxyXG4ucHN3cF9fem9vbS13cmFwIHtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwOyB9XHJcblxyXG4vKiBQcmV2ZW50IHNlbGVjdGlvbiBhbmQgdGFwIGhpZ2hsaWdodHMgKi9cclxuLnBzd3BfX2NvbnRhaW5lcixcclxuLnBzd3BfX2ltZyB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cclxuXHJcbi5wc3dwX196b29tLXdyYXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcclxuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxyXG5cclxuLnBzd3BfX2JnIHtcclxuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcclxuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxyXG5cclxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX19iZyxcclxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX196b29tLXdyYXAge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcclxuICB0cmFuc2l0aW9uOiBub25lOyB9XHJcblxyXG4ucHN3cF9fY29udGFpbmVyLFxyXG4ucHN3cF9fem9vbS13cmFwIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLnBzd3BfX2l0ZW0ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG5cclxuLnBzd3BfX2ltZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGhlaWdodDogYXV0bztcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDsgfVxyXG5cclxuLypcclxuICBzdHJldGNoZWQgdGh1bWJuYWlsIG9yIGRpdiBwbGFjZWhvbGRlciBlbGVtZW50IChzZWUgYmVsb3cpXHJcbiAgc3R5bGUgaXMgYWRkZWQgdG8gYXZvaWQgZmxpY2tlcmluZyBpbiB3ZWJraXQvYmxpbmsgd2hlbiBsYXllcnMgb3ZlcmxhcFxyXG4qL1xyXG4ucHN3cF9faW1nLS1wbGFjZWhvbGRlciB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi8qXHJcbiAgZGl2IGVsZW1lbnQgdGhhdCBtYXRjaGVzIHNpemUgb2YgbGFyZ2UgaW1hZ2VcclxuICBsYXJnZSBpbWFnZSBsb2FkcyBvbiB0b3Agb2YgaXRcclxuKi9cclxuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXItLWJsYW5rIHtcclxuICBiYWNrZ3JvdW5kOiAjMjIyOyB9XHJcblxyXG4ucHN3cC0taWUgLnBzd3BfX2ltZyB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDsgfVxyXG5cclxuLypcclxuICBFcnJvciBtZXNzYWdlIGFwcGVhcnMgd2hlbiBpbWFnZSBpcyBub3QgbG9hZGVkXHJcbiAgKEpTIG9wdGlvbiBlcnJvck1zZyBjb250cm9scyBtYXJrdXApXHJcbiovXHJcbi5wc3dwX19lcnJvci1tc2cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogNTAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgbWFyZ2luLXRvcDogLThweDtcclxuICBjb2xvcjogI0NDQzsgfVxyXG5cclxuLnBzd3BfX2Vycm9yLW1zZyBhIHtcclxuICBjb2xvcjogI0NDQztcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxyXG4iLCIvKiEgUGhvdG9Td2lwZSBEZWZhdWx0IFVJIENTUyBieSBEbWl0cnkgU2VtZW5vdiB8IHBob3Rvc3dpcGUuY29tIHwgTUlUIGxpY2Vuc2UgKi9cclxuLypcclxuXHJcbiAgQ29udGVudHM6XHJcblxyXG4gIDEuIEJ1dHRvbnNcclxuICAyLiBTaGFyZSBtb2RhbCBhbmQgbGlua3NcclxuICAzLiBJbmRleCBpbmRpY2F0b3IgKFwiMSBvZiBYXCIgY291bnRlcilcclxuICA0LiBDYXB0aW9uXHJcbiAgNS4gTG9hZGluZyBpbmRpY2F0b3JcclxuICA2LiBBZGRpdGlvbmFsIHN0eWxlcyAocm9vdCBlbGVtZW50LCB0b3AgYmFyLCBpZGxlIHN0YXRlLCBoaWRkZW4gc3RhdGUsIGV0Yy4pXHJcblxyXG4qL1xyXG4vKlxyXG4gIFxyXG4gIDEuIEJ1dHRvbnNcclxuXHJcbiAqL1xyXG4vKiA8YnV0dG9uPiBjc3MgcmVzZXQgKi9cclxuLnBzd3BfX2J1dHRvbiB7XHJcbiAgd2lkdGg6IDQ0cHg7XHJcbiAgaGVpZ2h0OiA0NHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBvcGFjaXR5OiAwLjc1O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cclxuICAucHN3cF9fYnV0dG9uOmZvY3VzLFxyXG4gIC5wc3dwX19idXR0b246aG92ZXIge1xyXG4gICAgb3BhY2l0eTogMTsgfVxyXG4gIC5wc3dwX19idXR0b246YWN0aXZlIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwLjk7IH1cclxuICAucHN3cF9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDA7IH1cclxuXHJcbi8qIHBzd3BfX3VpLS1vdmVyLWNsb3NlIGNsYXNzIGl0IGFkZGVkIHdoZW4gbW91c2UgaXMgb3ZlciBlbGVtZW50IHRoYXQgc2hvdWxkIGNsb3NlIGdhbGxlcnkgKi9cclxuLnBzd3BfX3VpLS1vdmVyLWNsb3NlIC5wc3dwX19idXR0b24tLWNsb3NlIHtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4ucHN3cF9fYnV0dG9uLFxyXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXHJcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQ6IHVybChkZWZhdWx0LXNraW4ucG5nKSAwIDAgbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMjY0cHggODhweDtcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDQ0cHg7IH1cclxuXHJcbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjEpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjA5Mzc1KSwgKG1pbi1yZXNvbHV0aW9uOiAxMDVkcGkpLCAobWluLXJlc29sdXRpb246IDEuMWRwcHgpIHtcclxuICAvKiBTZXJ2ZSBTVkcgc3ByaXRlIGlmIGJyb3dzZXIgc3VwcG9ydHMgU1ZHIGFuZCByZXNvbHV0aW9uIGlzIG1vcmUgdGhhbiAxMDVkcGkgKi9cclxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24sXHJcbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXHJcbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkZWZhdWx0LXNraW4uc3ZnKTsgfVxyXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXHJcbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XHJcblxyXG4ucHN3cF9fYnV0dG9uLS1jbG9zZSB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDRweDsgfVxyXG5cclxuLnBzd3BfX2J1dHRvbi0tc2hhcmUge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IC00NHB4OyB9XHJcblxyXG4ucHN3cF9fYnV0dG9uLS1mcyB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLnBzd3AtLXN1cHBvcnRzLWZzIC5wc3dwX19idXR0b24tLWZzIHtcclxuICBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuLnBzd3AtLWZzIC5wc3dwX19idXR0b24tLWZzIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDRweCAwOyB9XHJcblxyXG4ucHN3cF9fYnV0dG9uLS16b29tIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04OHB4IDA7IH1cclxuXHJcbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2J1dHRvbi0tem9vbSB7XHJcbiAgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2J1dHRvbi0tem9vbSB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMnB4IDA7IH1cclxuXHJcbi8qIG5vIGFycm93cyBvbiB0b3VjaCBzY3JlZW5zICovXHJcbi5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcclxuLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcblxyXG4vKlxyXG4gIEFycm93IGJ1dHRvbnMgaGl0IGFyZWFcclxuICAoaWNvbiBpcyBhZGRlZCB0byA6YmVmb3JlIHBzZXVkby1lbGVtZW50KVxyXG4qL1xyXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcclxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC01MHB4O1xyXG4gIHdpZHRoOiA3MHB4O1xyXG4gIGhlaWdodDogMTAwcHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XHJcblxyXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCB7XHJcbiAgbGVmdDogMDsgfVxyXG5cclxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcclxuICByaWdodDogMDsgfVxyXG5cclxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxyXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICB0b3A6IDM1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gIGhlaWdodDogMzBweDtcclxuICB3aWR0aDogMzJweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cclxuXHJcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSB7XHJcbiAgbGVmdDogNnB4O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzhweCAtNDRweDsgfVxyXG5cclxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XHJcbiAgcmlnaHQ6IDZweDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtNDRweDsgfVxyXG5cclxuLypcclxuXHJcbiAgMi4gU2hhcmUgbW9kYWwvcG9wdXAgYW5kIGxpbmtzXHJcblxyXG4gKi9cclxuLnBzd3BfX2NvdW50ZXIsXHJcbi5wc3dwX19zaGFyZS1tb2RhbCB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cclxuXHJcbi5wc3dwX19zaGFyZS1tb2RhbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAxNjAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB3aWxsLWNoYW5nZTogb3BhY2l0eTsgfVxyXG5cclxuLnBzd3BfX3NoYXJlLW1vZGFsLS1oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5wc3dwX19zaGFyZS10b29sdGlwIHtcclxuICB6LWluZGV4OiAxNjIwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG4gIHRvcDogNTZweDtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgcmlnaHQ6IDQ0cHg7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxyXG4gIC5wc3dwX19zaGFyZS10b29sdGlwIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cclxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6aG92ZXIge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGNvbG9yOiAjMDAwOyB9XHJcbiAgICAucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgLyogcm91bmQgY29ybmVycyBvbiB0aGUgZmlyc3QvbGFzdCBsaXN0IGl0ZW0gKi9cclxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7IH1cclxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4OyB9XHJcblxyXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4ge1xyXG4gIG9wYWNpdHk6IDE7IH1cclxuICAucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4gLnBzd3BfX3NoYXJlLXRvb2x0aXAge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcblxyXG4vKiBpbmNyZWFzZSBzaXplIG9mIHNoYXJlIGxpbmtzIG9uIHRvdWNoIGRldmljZXMgKi9cclxuLnBzd3AtLXRvdWNoIC5wc3dwX19zaGFyZS10b29sdGlwIGEge1xyXG4gIHBhZGRpbmc6IDE2cHggMTJweDsgfVxyXG5cclxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTEycHg7XHJcbiAgcmlnaHQ6IDE1cHg7XHJcbiAgYm9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRjtcclxuICAtd2Via2l0LXBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC1tb3otcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuXHJcbmEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjM0U1QzlBO1xyXG4gIGNvbG9yOiAjRkZGOyB9XHJcbiAgYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6aG92ZXI6YmVmb3JlIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzRTVDOUE7IH1cclxuXHJcbmEucHN3cF9fc2hhcmUtLXR3aXR0ZXI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICM1NUFDRUU7XHJcbiAgY29sb3I6ICNGRkY7IH1cclxuXHJcbmEucHN3cF9fc2hhcmUtLXBpbnRlcmVzdDpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogI0NDQztcclxuICBjb2xvcjogI0NFMjcyRDsgfVxyXG5cclxuYS5wc3dwX19zaGFyZS0tZG93bmxvYWQ6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICNEREQ7IH1cclxuXHJcbi8qXHJcblxyXG4gIDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxyXG5cclxuICovXHJcbi5wc3dwX19jb3VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgaGVpZ2h0OiA0NHB4O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBsaW5lLWhlaWdodDogNDRweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICBvcGFjaXR5OiAwLjc1O1xyXG4gIHBhZGRpbmc6IDAgMTBweDsgfVxyXG5cclxuLypcclxuICBcclxuICA0LiBDYXB0aW9uXHJcblxyXG4gKi9cclxuLnBzd3BfX2NhcHRpb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiA0NHB4OyB9XHJcbiAgLnBzd3BfX2NhcHRpb24gc21hbGwge1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgY29sb3I6ICNCQkI7IH1cclxuXHJcbi5wc3dwX19jYXB0aW9uX19jZW50ZXIge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbWF4LXdpZHRoOiA0MjBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBsaW5lLWhlaWdodDogMjBweDtcclxuICBjb2xvcjogI0NDQzsgfVxyXG5cclxuLnBzd3BfX2NhcHRpb24tLWVtcHR5IHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4vKiBGYWtlIGNhcHRpb24gZWxlbWVudCwgdXNlZCB0byBjYWxjdWxhdGUgaGVpZ2h0IG9mIG5leHQvcHJldiBpbWFnZSAqL1xyXG4ucHN3cF9fY2FwdGlvbi0tZmFrZSB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcblxyXG4vKlxyXG5cclxuICA1LiBMb2FkaW5nIGluZGljYXRvciAocHJlbG9hZGVyKVxyXG5cclxuICBZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXHJcblxyXG4gKi9cclxuLnBzd3BfX3ByZWxvYWRlciB7XHJcbiAgd2lkdGg6IDQ0cHg7XHJcbiAgaGVpZ2h0OiA0NHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcclxuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XHJcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XHJcbiAgZGlyZWN0aW9uOiBsdHI7IH1cclxuXHJcbi5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgaGVpZ2h0OiAyMHB4O1xyXG4gIG1hcmdpbjogMTJweDsgfVxyXG5cclxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcclxuICBvcGFjaXR5OiAxOyB9XHJcbiAgLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XHJcbiAgICAvKiBXZSB1c2UgLmdpZiBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgQ1NTIGFuaW1hdGlvbiAqL1xyXG4gICAgYmFja2dyb3VuZDogdXJsKHByZWxvYWRlci5naWYpIDAgMCBuby1yZXBlYXQ7IH1cclxuXHJcbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XHJcbiAgb3BhY2l0eTogMTsgfVxyXG4gIC5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTsgfVxyXG4gIC5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZG9udXQtcm90YXRlIDEwMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKSBpbmZpbml0ZTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpIGluZmluaXRlOyB9XHJcblxyXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgb3BhY2l0eTogMC43NTtcclxuICB3aWR0aDogMTRweDtcclxuICBoZWlnaHQ6IDE0cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDE1cHg7XHJcbiAgdG9wOiAxNXB4O1xyXG4gIG1hcmdpbjogMDsgfVxyXG5cclxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9fY3V0IHtcclxuICAvKiBcclxuICAgICAgVGhlIGlkZWEgb2YgYW5pbWF0aW5nIGlubmVyIGNpcmNsZSBpcyBiYXNlZCBvbiBQb2x5bWVyIChcIm1hdGVyaWFsXCIpIGxvYWRpbmcgaW5kaWNhdG9yIFxyXG4gICAgICAgYnkgS2VhbnUgTGVlIGh0dHBzOi8vYmxvZy5rZWFudWxlZS5jb20vMjAxNC8xMC8yMC90aGUtdGFsZS1vZi10aHJlZS1zcGlubmVycy5odG1sXHJcbiAgICAqL1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogN3B4O1xyXG4gIGhlaWdodDogMTRweDtcclxuICBvdmVyZmxvdzogaGlkZGVuOyB9XHJcblxyXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB3aWR0aDogMTRweDtcclxuICBoZWlnaHQ6IDE0cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgI0ZGRjtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIG1hcmdpbjogMDsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLnBzd3BfX3ByZWxvYWRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBjbG9ja3dpc2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxyXG5cclxuQGtleWZyYW1lcyBjbG9ja3dpc2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7IH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cclxuXHJcbkBrZXlmcmFtZXMgZG9udXQtcm90YXRlIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTsgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxyXG5cclxuLypcclxuICBcclxuICA2LiBBZGRpdGlvbmFsIHN0eWxlc1xyXG5cclxuICovXHJcbi8qIHJvb3QgZWxlbWVudCBvZiBVSSAqL1xyXG4ucHN3cF9fdWkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHotaW5kZXg6IDE1NTA7IH1cclxuXHJcbi8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xyXG4ucHN3cF9fdG9wLWJhciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogNDRweDtcclxuICB3aWR0aDogMTAwJTsgfVxyXG5cclxuLnBzd3BfX2NhcHRpb24sXHJcbi5wc3dwX190b3AtYmFyLFxyXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxyXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxyXG5cclxuLyogcHN3cC0taGFzX21vdXNlIGNsYXNzIGlzIGFkZGVkIG9ubHkgd2hlbiB0d28gc3Vic2VxdWVudCBtb3VzZW1vdmUgZXZlbnRzIG9jY3VyICovXHJcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXHJcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XHJcblxyXG4ucHN3cF9fdG9wLWJhcixcclxuLnBzd3BfX2NhcHRpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxyXG5cclxuLyogcHN3cF9fdWktLWZpdCBjbGFzcyBpcyBhZGRlZCB3aGVuIG1haW4gaW1hZ2UgXCJmaXRzXCIgYmV0d2VlbiB0b3AgYmFyIGFuZCBib3R0b20gYmFyIChjYXB0aW9uKSAqL1xyXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fdG9wLWJhcixcclxuLnBzd3BfX3VpLS1maXQgLnBzd3BfX2NhcHRpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxyXG5cclxuLyogcHN3cF9fdWktLWlkbGUgY2xhc3MgaXMgYWRkZWQgd2hlbiBtb3VzZSBpc24ndCBtb3ZpbmcgZm9yIHNldmVyYWwgc2Vjb25kcyAoSlMgb3B0aW9uIHRpbWVUb0lkbGUpICovXHJcbi5wc3dwX191aS0taWRsZSAucHN3cF9fdG9wLWJhciB7XHJcbiAgb3BhY2l0eTogMDsgfVxyXG5cclxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxyXG4ucHN3cF9fdWktLWlkbGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcclxuICBvcGFjaXR5OiAwOyB9XHJcblxyXG4vKlxyXG4gIHBzd3BfX3VpLS1oaWRkZW4gY2xhc3MgaXMgYWRkZWQgd2hlbiBjb250cm9scyBhcmUgaGlkZGVuXHJcbiAgZS5nLiB3aGVuIHVzZXIgdGFwcyB0byB0b2dnbGUgdmlzaWJpbGl0eSBvZiBjb250cm9sc1xyXG4qL1xyXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fdG9wLWJhcixcclxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2NhcHRpb24sXHJcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxyXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xyXG4gIC8qIEZvcmNlIHBhaW50ICYgY3JlYXRlIGNvbXBvc2l0aW9uIGxheWVyIGZvciBjb250cm9scy4gKi9cclxuICBvcGFjaXR5OiAwLjAwMTsgfVxyXG5cclxuLyogcHN3cF9fdWktLW9uZS1zbGlkZSBjbGFzcyBpcyBhZGRlZCB3aGVuIHRoZXJlIGlzIGp1c3Qgb25lIGl0ZW0gaW4gZ2FsbGVyeSAqL1xyXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcclxuLnBzd3BfX3VpLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0LFxyXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fY291bnRlciB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5wc3dwLS1taW5pbWFsLS1kYXJrIC5wc3dwX190b3AtYmFyIHtcclxuICBiYWNrZ3JvdW5kOiBub25lOyB9XHJcbiIsIi8qIEFjY2Vzc2libGUgZGlhbG9nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKi5kaWFsb2dbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRpYWxvZy13cmFwcGVyLFxuLmRpYWxvZy1vdmVybGF5IHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5kaWFsb2ctY29udGVudCB7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBhZGRpbmc6IDFyZW07XG59Ki9cblxuLmRpYWxvZ1thcmlhLWhpZGRlbj1cInRydWVcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZGlhbG9nLW92ZXJsYXkge1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIC5kaWFsb2ctY29udGVudCB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG5cbiAgLmRpYWxvZy1jb250ZW50LWlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgfVxuXG4gIC5kaWFsb2ctY2xvc2UtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjVyZW07XG4gICAgcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGhlaWdodDogMnJlbTsgXG4gICAgd2lkdGg6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIH1cbiAgICBcbiAgI3N0cmVldFZpZXcge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICB9IiwiLnN3aXBlci1idXR0b24tcHJldi52LWNlbnRlcmVkLFxuLnN3aXBlci1idXR0b24tbmV4dC52LWNlbnRlcmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyxcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDNweCA1cHg7XG59XG5cbi8qLnN3aXBlci1idXR0b24tZGlzYWJsZWQge31cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICB3aWR0aDogM3JlbSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDEuNXJlbSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTgwJSk7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjE1O1xufVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXhNeTQ1TVRZaUlHaGxhV2RvZEQwaU1qRXVNemsySWlCMmFXVjNRbTk0UFNJd0lEQWdNVE11T1RFMklESXhMak01TmlJK1BIQmhkR2dnWm1sc2JEMGlJMFpHUmlJZ1pEMGlUVEl1TnpneUlESXdMakV5VEM0Mk5qSWdNVGhzTnk0NE5EY3ROeTQ0TkRjdE55NDROUzAzTGpnMVRESXVOemcwTGpFNE0ydzVMamsyT0NBNUxqazNJaTgrUEM5emRtYytcIikgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE15NDVNVFlpSUdobGFXZG9kRDBpTWpFdU16azJJaUIyYVdWM1FtOTRQU0l3SURBZ01UTXVPVEUySURJeExqTTVOaUkrUEhCaGRHZ2dabWxzYkQwaUkwWkdSaUlnWkQwaVRURXdMall6TGpFNE1td3lMakV5SURJdU1USXROeTQ0TkRjZ055NDRORGRNTVRJdU56VWdNVGhzTFRJdU1USWdNaTR4TWt3dU5qWWdNVEF1TVRVaUx6NDhMM04yWno0PVwiKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWRhcmstZ3JheSkgIWltcG9ydGFudDtcbn1cbiovIiwiQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLmJ1bGxldC1hZnRlci1sOmFmdGVyIHtcbiAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gIH1cbn1cblxuXG4ubGlua0Jsb2NrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cblxuLmxpbmtCbG9jazpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQtZ3JheSk7XG59XG5cbi5saW5rQmxvY2s6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udmlkZW8gaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuXG4uZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbi8qbWFyZ2luLWxlZnQ6IGNhbGMoLTUwdncgKyA1MCUpOy8qKi9cbiAgLyptYXJnaW4tcmlnaHQ6IGNhbGMoLTUwdncgKyA1MCUpOyovXG59IiwiLyohIFRBQ0hZT05TIHY0LjUuNSB8IGh0dHA6Ly90YWNoeW9ucy5pbyAqL1xuXG4vKlxuICpcbiAqICAgICAgX19fX19fX18gICAgICAgICAgICBfX19fX19cbiAqICAgICAgX19fICBfXy9fX19fXyBfX19fX19fX18gIC9fX19fX18gIF9fX19fX19fX19fX19fX19fX19fX19cbiAqICAgICAgX18gIC8gIF8gIF9fIGAvICBfX18vXyAgX18gXFxfICAvIC8gLyAgX18gXFxfICBfXyBcXF8gIF9fXy9cbiAqICAgICAgXyAgLyAgIC8gL18vIC8vIC9fXyBfICAvIC8gLyAgL18vIC8vIC9fLyAvICAvIC8gLyhfXyAgKVxuICogICAgICAvXy8gICAgXFxfXyxfLyBcXF9fXy8gL18vIC9fL19cXF9fLCAvIFxcX19fXy8vXy8gL18vL19fX18vXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9fX19fL1xuICpcbiAqICAgIFRBQkxFIE9GIENPTlRFTlRTXG4gKlxuICogICAgMS4gRXh0ZXJuYWwgTGlicmFyeSBJbmNsdWRlc1xuICogICAgICAgLSBOb3JtYWxpemUuY3NzIHwgaHR0cDovL25vcm1hbGl6ZS5jc3MuZ2l0aHViLmlvXG4gKiAgICAyLiBUYWNoeW9ucyBNb2R1bGVzXG4gKiAgICAzLiBWYXJpYWJsZXNcbiAqICAgICAgIC0gTWVkaWEgUXVlcmllc1xuICogICAgICAgLSBDb2xvcnNcbiAqICAgIDQuIERlYnVnZ2luZ1xuICogICAgICAgLSBEZWJ1ZyBhbGxcbiAqICAgICAgIC0gRGVidWcgY2hpbGRyZW5cbiAqXG4gKi9cblxuXG4vKiBFeHRlcm5hbCBMaWJyYXJ5IEluY2x1ZGVzICovXG4vKiBAaW1wb3J0ICcuL19ub3JtYWxpemUnOyAqL1xuXG5cbi8qIE1vZHVsZXMgKi9cbkBpbXBvcnQgJy4vX2JveC1zaXppbmcnO1xuQGltcG9ydCAnLi9faW1hZ2VzJztcbkBpbXBvcnQgJy4vX2JhY2tncm91bmQtc2l6ZSc7XG5AaW1wb3J0ICcuL19iYWNrZ3JvdW5kLXBvc2l0aW9uJztcbkBpbXBvcnQgJy4vX291dGxpbmVzJztcbkBpbXBvcnQgJy4vX2JvcmRlcnMnO1xuQGltcG9ydCAnLi9fYm9yZGVyLWNvbG9ycyc7XG5AaW1wb3J0ICcuL19ib3JkZXItcmFkaXVzJztcbkBpbXBvcnQgJy4vX2JvcmRlci1zdHlsZSc7XG5AaW1wb3J0ICcuL19ib3JkZXItd2lkdGhzJztcbkBpbXBvcnQgJy4vX2JveC1zaGFkb3cnO1xuQGltcG9ydCAnLi9fY29kZSc7XG5AaW1wb3J0ICcuL19jb29yZGluYXRlcyc7XG5AaW1wb3J0ICcuL19jbGVhcnMnO1xuQGltcG9ydCAnLi9fZGlzcGxheSc7XG5AaW1wb3J0ICcuL19mbGV4Ym94JztcbkBpbXBvcnQgJy4vX2Zsb2F0cyc7XG5AaW1wb3J0ICcuL19mb250LWZhbWlseSc7XG5AaW1wb3J0ICcuL19mb250LXN0eWxlJztcbkBpbXBvcnQgJy4vX2ZvbnQtd2VpZ2h0JztcbkBpbXBvcnQgJy4vX2Zvcm1zJztcbkBpbXBvcnQgJy4vX2hlaWdodHMnO1xuQGltcG9ydCAnLi9fbGV0dGVyLXNwYWNpbmcnO1xuQGltcG9ydCAnLi9fbGluZS1oZWlnaHQnO1xuQGltcG9ydCAnLi9fbGlua3MnO1xuQGltcG9ydCAnLi9fbGlzdHMnO1xuQGltcG9ydCAnLi9fbWF4LXdpZHRocyc7XG5AaW1wb3J0ICcuL193aWR0aHMnO1xuQGltcG9ydCAnLi9fb3ZlcmZsb3cnO1xuQGltcG9ydCAnLi9fcG9zaXRpb24nO1xuQGltcG9ydCAnLi9fb3BhY2l0eSc7XG5AaW1wb3J0ICcuL19za2lucyc7XG5AaW1wb3J0ICcuL19za2lucy1wc2V1ZG8nO1xuQGltcG9ydCAnLi9fc3BhY2luZyc7XG5AaW1wb3J0ICcuL190YWJsZXMnO1xuQGltcG9ydCAnLi9fdGV4dC1kZWNvcmF0aW9uJztcbkBpbXBvcnQgJy4vX3RleHQtYWxpZ24nO1xuQGltcG9ydCAnLi9fdGV4dC10cmFuc2Zvcm0nO1xuQGltcG9ydCAnLi9fdHlwZS1zY2FsZSc7XG5AaW1wb3J0ICcuL190eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4vX3V0aWxpdGllcyc7XG5AaW1wb3J0ICcuL192aXNpYmlsaXR5JztcbkBpbXBvcnQgJy4vX3doaXRlLXNwYWNlJztcbkBpbXBvcnQgJy4vX3ZlcnRpY2FsLWFsaWduJztcbkBpbXBvcnQgJy4vX2hvdmVycyc7XG5AaW1wb3J0ICcuL196LWluZGV4JztcbkBpbXBvcnQgJy4vX3N0eWxlcyc7XG5cblxuXG4vKiBVbmNvbW1lbnQgb3V0IHRoZSBsaW5lIGJlbG93IHRvIGhlbHAgZGVidWcgbGF5b3V0IGlzc3VlcyAqL1xuLyogQGltcG9ydCAnLi9fZGVidWcnOyAqL1xuIiwiLypcbiBcbiAgQk9YIFNJWklOR1xuXG4qL1xuXG5odG1sLFxuYm9keSxcbmRpdixcbmFydGljbGUsXG5zZWN0aW9uLFxubWFpbixcbmZvb3RlcixcbmhlYWRlcixcbmZvcm0sXG5maWVsZHNldCxcbnByZSxcbmNvZGUsXG5wLFxudWwsXG5vbCxcbmxpLFxuZGwsXG5kdCxcbmRkLFxudGV4dGFyZWEsXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbi5ib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuIiwiLypcblxuICAgSU1BR0VTXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9lbGVtZW50cy9pbWFnZXMvXG5cbiovXG5cbi8qIFJlc3BvbnNpdmUgaW1hZ2VzISAqL1xuXG5pbWcgeyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuIiwiLypcblxuICAgQkFDS0dST1VORCBTSVpFXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90aGVtZXMvYmFja2dyb3VuZC1zaXplL1xuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi8qXG4gIE9mdGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBiYWNrZ3JvdW5kIGltYWdlIHNldCBhcyBhbiBpbmxpbmUgc3R5bGVcbiAgb24gYW4gaHRtbCBlbGVtZW50LlxuKi9cblxuICAuY292ZXIgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyIWltcG9ydGFudDsgfVxuICAuY29udGFpbiB7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbiFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC5jb3Zlci1ucyB7IGJhY2tncm91bmQtc2l6ZTogY292ZXIhaW1wb3J0YW50OyB9XG4gIC5jb250YWluLW5zIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluIWltcG9ydGFudDsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLmNvdmVyLW0geyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyIWltcG9ydGFudDsgfVxuICAuY29udGFpbi1tIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluIWltcG9ydGFudDsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAuY292ZXItbCB7IGJhY2tncm91bmQtc2l6ZTogY292ZXIhaW1wb3J0YW50OyB9XG4gIC5jb250YWluLWwgeyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4haW1wb3J0YW50OyB9XG59XG4iLCIvKlxuXG4gICAgQkFDS0dST1VORCBQT1NJVElPTlxuXG4gICAgQmFzZTpcbiAgICBiZyA9IGJhY2tncm91bmRcblxuICAgIE1vZGlmaWVyczpcbiAgICAtY2VudGVyID0gY2VudGVyIGNlbnRlclxuICAgIC10b3AgPSB0b3AgY2VudGVyXG4gICAgLXJpZ2h0ID0gY2VudGVyIHJpZ2h0XG4gICAgLWJvdHRvbSA9IGJvdHRvbSBjZW50ZXJcbiAgICAtbGVmdCA9IGNlbnRlciBsZWZ0XG5cbiAgICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgICAtbSAgPSBtZWRpdW1cbiAgICAgIC1sICA9IGxhcmdlXG5cbiAqL1xuXG4uYmctY2VudGVyIHsgXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IFxufVxuXG4uYmctdG9wIHsgICAgXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyOyAgICBcbn1cblxuLmJnLXJpZ2h0IHsgIFxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0OyAgXG59XG5cbi5iZy1ib3R0b20geyBcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7IFxufVxuXG4uYmctbGVmdCB7ICAgXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDsgICBcbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC5iZy1jZW50ZXItbnMgeyBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IFxuICB9XG5cbiAgLmJnLXRvcC1ucyB7ICAgIFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7ICAgIFxuICB9XG5cbiAgLmJnLXJpZ2h0LW5zIHsgIFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDsgIFxuICB9XG5cbiAgLmJnLWJvdHRvbS1ucyB7IFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7IFxuICB9XG5cbiAgLmJnLWxlZnQtbnMgeyAgIFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0OyAgIFxuICB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAuYmctY2VudGVyLW0geyBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IFxuICB9XG5cbiAgLmJnLXRvcC1tIHsgICAgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsgICAgXG4gIH1cblxuICAuYmctcmlnaHQtbSB7ICBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7ICBcbiAgfVxuXG4gIC5iZy1ib3R0b20tbSB7IFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7IFxuICB9XG5cbiAgLmJnLWxlZnQtbSB7ICAgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7ICAgXG4gIH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLmJnLWNlbnRlci1sIHsgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyBcbiAgfVxuXG4gIC5iZy10b3AtbCB7ICAgIFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7ICAgIFxuICB9XG5cbiAgLmJnLXJpZ2h0LWwgeyAgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0OyAgXG4gIH1cblxuICAuYmctYm90dG9tLWwgeyBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyOyBcbiAgfVxuXG4gIC5iZy1sZWZ0LWwgeyAgIFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0OyAgIFxuICB9XG59XG4iLCIvKlxuXG4gICBPVVRMSU5FU1xuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5vdXRsaW5lIHsgb3V0bGluZTogMXB4IHNvbGlkOyB9XG4ub3V0bGluZS10cmFuc3BhcmVudCB7IG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuLm91dGxpbmUtMCB7IG91dGxpbmU6IDA7IH1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC5vdXRsaW5lLW5zIHsgb3V0bGluZTogMXB4IHNvbGlkOyB9XG4gIC5vdXRsaW5lLXRyYW5zcGFyZW50LW5zIHsgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5vdXRsaW5lLTAtbnMgeyBvdXRsaW5lOiAwOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAub3V0bGluZS1tIHsgb3V0bGluZTogMXB4IHNvbGlkOyB9XG4gIC5vdXRsaW5lLXRyYW5zcGFyZW50LW0geyBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLm91dGxpbmUtMC1tIHsgb3V0bGluZTogMDsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLm91dGxpbmUtbCB7IG91dGxpbmU6IDFweCBzb2xpZDsgfVxuICAub3V0bGluZS10cmFuc3BhcmVudC1sIHsgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5vdXRsaW5lLTAtbCB7IG91dGxpbmU6IDA7IH1cbn1cbiIsIi8qXG5cbiAgICBCT1JERVJTXG4gICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdGhlbWVzL2JvcmRlcnMvXG5cbiAgICBCYXNlOlxuICAgICAgYiA9IGJvcmRlclxuXG4gICAgTW9kaWZpZXJzOlxuICAgICAgYSA9IGFsbFxuICAgICAgdCA9IHRvcFxuICAgICAgciA9IHJpZ2h0XG4gICAgICBiID0gYm90dG9tXG4gICAgICBsID0gbGVmdFxuICAgICAgbiA9IG5vbmVcblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4gIC5iYSB7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMXB4OyB9XG4gIC5idCB7IGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cbiAgLmJyIHsgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7IH1cbiAgLmJiIHsgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxuICAuYmwgeyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH1cbiAgLmJuIHsgYm9yZGVyLXN0eWxlOiBub25lOyBib3JkZXItd2lkdGg6IDA7IH1cblxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLmJhLW5zIHsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXdpZHRoOiAxcHg7IH1cbiAgLmJ0LW5zIHsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxuICAuYnItbnMgeyBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOyBib3JkZXItcmlnaHQtd2lkdGg6IDFweDsgfVxuICAuYmItbnMgeyBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XG4gIC5ibC1ucyB7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgfVxuICAuYm4tbnMgeyBib3JkZXItc3R5bGU6IG5vbmU7IGJvcmRlci13aWR0aDogMDsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLmJhLW0geyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDFweDsgfVxuICAuYnQtbSB7IGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cbiAgLmJyLW0geyBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOyBib3JkZXItcmlnaHQtd2lkdGg6IDFweDsgfVxuICAuYmItbSB7IGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkOyBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cbiAgLmJsLW0geyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH1cbiAgLmJuLW0geyBib3JkZXItc3R5bGU6IG5vbmU7IGJvcmRlci13aWR0aDogMDsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAuYmEtbCB7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMXB4OyB9XG4gIC5idC1sIHsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxuICAuYnItbCB7IGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IGJvcmRlci1yaWdodC13aWR0aDogMXB4OyB9XG4gIC5iYi1sIHsgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxuICAuYmwtbCB7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgfVxuICAuYm4tbCB7IGJvcmRlci1zdHlsZTogbm9uZTsgYm9yZGVyLXdpZHRoOiAwOyB9XG59XG5cbiIsIi8qXG5cbiAgIEJPUkRFUiBDT0xPUlNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy9ib3JkZXJzL1xuXG4gICBCb3JkZXIgY29sb3JzIGNhbiBiZSB1c2VkIHRvIGV4dGVuZCB0aGUgYmFzZVxuICAgYm9yZGVyIGNsYXNzZXMgYmEsYnQsYmIsYnIsYmwgZm91bmQgaW4gdGhlIF9ib3JkZXJzLmNzcyBmaWxlLlxuXG4gICBUaGUgYmFzZSBib3JkZXIgY2xhc3MgYnkgZGVmYXVsdCB3aWxsIHNldCB0aGUgY29sb3Igb2YgdGhlIGJvcmRlclxuICAgdG8gdGhhdCBvZiB0aGUgY3VycmVudCB0ZXh0IGNvbG9yLiBUaGVzZSBjbGFzc2VzIGFyZSBmb3IgdGhlIGNhc2VzXG4gICB3aGVyZSB5b3UgZGVzaXJlIGZvciB0aGUgdGV4dCBhbmQgYm9yZGVyIGNvbG9ycyB0byBiZSBkaWZmZXJlbnQuXG5cbiAgIEJhc2U6XG4gICAgIGIgPSBib3JkZXJcblxuICAgTW9kaWZpZXJzOlxuICAgLS1jb2xvci1uYW1lID0gZWFjaCBjb2xvciB2YXJpYWJsZSBuYW1lIGlzIGFsc28gYSBib3JkZXIgY29sb3IgbmFtZVxuXG4qL1xuXG4uYi0tYmxhY2sgeyAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjayk7IH1cbi5iLS1uZWFyLWJsYWNrIHsgICBib3JkZXItY29sb3I6IHZhcigtLW5lYXItYmxhY2spOyB9XG4uYi0tZGFyay1ncmF5IHsgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrLWdyYXkpOyB9XG4uYi0tbWlkLWdyYXkgeyAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1taWQtZ3JheSk7IH1cbi5iLS1ncmF5IHsgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdyYXkpOyB9XG4uYi0tc2lsdmVyIHsgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zaWx2ZXIpOyB9XG4uYi0tbGlnaHQtc2lsdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodC1zaWx2ZXIpOyB9XG4uYi0tbGlnaHQtZ3JheSB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodC1ncmF5KTsgfVxuLmItLW5lYXItd2hpdGUgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVhci13aGl0ZSk7IH1cbi5iLS13aGl0ZSB7ICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlKTsgfVxuXG4uYi0td2hpdGUtOTAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtOTApOyB9XG4uYi0td2hpdGUtODAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtODApOyB9XG4uYi0td2hpdGUtNzAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtNzApOyB9XG4uYi0td2hpdGUtNjAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtNjApOyB9XG4uYi0td2hpdGUtNTAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtNTApOyB9XG4uYi0td2hpdGUtNDAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtNDApOyB9XG4uYi0td2hpdGUtMzAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtMzApOyB9XG4uYi0td2hpdGUtMjAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtMjApOyB9XG4uYi0td2hpdGUtMTAgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtMTApOyB9XG4uYi0td2hpdGUtMDUgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtMDUpOyB9XG4uYi0td2hpdGUtMDI1IHsgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLTAyNSk7IH1cbi5iLS13aGl0ZS0wMTI1IHsgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLTAxMjUpOyB9XG5cbi5iLS1ibGFjay05MCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay05MCk7IH1cbi5iLS1ibGFjay04MCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay04MCk7IH1cbi5iLS1ibGFjay03MCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay03MCk7IH1cbi5iLS1ibGFjay02MCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay02MCk7IH1cbi5iLS1ibGFjay01MCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay01MCk7IH1cbi5iLS1ibGFjay00MCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay00MCk7IH1cbi5iLS1ibGFjay0zMCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay0zMCk7IH1cbi5iLS1ibGFjay0yMCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay0yMCk7IH1cbi5iLS1ibGFjay0xMCB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay0xMCk7IH1cbi5iLS1ibGFjay0wNSB7ICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjay0wNSk7IH1cbi5iLS1ibGFjay0wMjUgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0tYmxhY2stMDI1KTsgfVxuLmItLWJsYWNrLTAxMjUgeyAgIGJvcmRlci1jb2xvcjogdmFyKC0tYmxhY2stMDEyNSk7IH1cblxuLmItLWRhcmstcmVkIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrLXJlZCk7IH1cbi5iLS1yZWQgeyBib3JkZXItY29sb3I6IHZhcigtLXJlZCk7IH1cbi5iLS1saWdodC1yZWQgeyBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LXJlZCk7IH1cbi5iLS1vcmFuZ2UgeyBib3JkZXItY29sb3I6IHZhcigtLW9yYW5nZSk7IH1cbi5iLS1nb2xkIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsgfVxuLmItLXllbGxvdyB7IGJvcmRlci1jb2xvcjogdmFyKC0teWVsbG93KTsgfVxuLmItLWxpZ2h0LXllbGxvdyB7IGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQteWVsbG93KTsgfVxuLmItLXB1cnBsZSB7IGJvcmRlci1jb2xvcjogdmFyKC0tcHVycGxlKTsgfVxuLmItLWxpZ2h0LXB1cnBsZSB7IGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQtcHVycGxlKTsgfVxuLmItLWRhcmstcGluayB7IGJvcmRlci1jb2xvcjogdmFyKC0tZGFyay1waW5rKTsgfVxuLmItLWhvdC1waW5rIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ob3QtcGluayk7IH1cbi5iLS1waW5rIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1waW5rKTsgfVxuLmItLWxpZ2h0LXBpbmsgeyBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LXBpbmspOyB9XG4uYi0tZGFyay1ncmVlbiB7IGJvcmRlci1jb2xvcjogdmFyKC0tZGFyay1ncmVlbik7IH1cbi5iLS1ncmVlbiB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4pOyB9XG4uYi0tbGlnaHQtZ3JlZW4geyBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LWdyZWVuKTsgfVxuLmItLW5hdnkgeyBib3JkZXItY29sb3I6IHZhcigtLW5hdnkpOyB9XG4uYi0tZGFyay1ibHVlIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrLWJsdWUpOyB9XG4uYi0tYmx1ZSB7IGJvcmRlci1jb2xvcjogdmFyKC0tYmx1ZSk7IH1cbi5iLS1saWdodC1ibHVlIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTsgfVxuLmItLWxpZ2h0ZXN0LWJsdWUgeyBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0ZXN0LWJsdWUpOyB9XG4uYi0td2FzaGVkLWJsdWUgeyBib3JkZXItY29sb3I6IHZhcigtLXdhc2hlZC1ibHVlKTsgfVxuLmItLXdhc2hlZC1ncmVlbiB7IGJvcmRlci1jb2xvcjogdmFyKC0td2FzaGVkLWdyZWVuKTsgfVxuLmItLXdhc2hlZC15ZWxsb3cgeyBib3JkZXItY29sb3I6IHZhcigtLXdhc2hlZC15ZWxsb3cpOyB9XG4uYi0td2FzaGVkLXJlZCB7IGJvcmRlci1jb2xvcjogdmFyKC0td2FzaGVkLXJlZCk7IH1cblxuLmItLXRyYW5zcGFyZW50IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10cmFuc3BhcmVudCk7IH1cbiIsIi8qXG5cbiAgIEJPUkRFUiBSQURJVVNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy9ib3JkZXItcmFkaXVzL1xuXG4gICBCYXNlOlxuICAgICBiciAgID0gYm9yZGVyLXJhZGl1c1xuXG4gICBNb2RpZmllcnM6XG4gICAgIDAgICAgPSAwL25vbmVcbiAgICAgMSAgICA9IDFzdCBzdGVwIGluIHNjYWxlXG4gICAgIDIgICAgPSAybmQgc3RlcCBpbiBzY2FsZVxuICAgICAzICAgID0gM3JkIHN0ZXAgaW4gc2NhbGVcbiAgICAgNCAgICA9IDR0aCBzdGVwIGluIHNjYWxlXG5cbiAgIExpdGVyYWwgdmFsdWVzOlxuICAgICAtMTAwID0gMTAwJVxuICAgICAtcGlsbCA9IDk5OTlweFxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbiAgLmJyMCB7ICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5icjEgeyAgICAgICAgYm9yZGVyLXJhZGl1czogLjEyNXJlbTsgfVxuICAuYnIyIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTsgfVxuICAuYnIzIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IC41cmVtOyB9XG4gIC5icjQgeyAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTsgfVxuICAuYnItMTAwIHsgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgLmJyLXBpbGwgeyAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7IH1cbiAgLmJyLS1ib3R0b20ge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tdG9wIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuYnItLXJpZ2h0IHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tbGVmdCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAuYnIwLW5zIHsgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmJyMS1ucyB7ICAgICBib3JkZXItcmFkaXVzOiAuMTI1cmVtOyB9XG4gIC5icjItbnMgeyAgICAgYm9yZGVyLXJhZGl1czogLjI1cmVtOyB9XG4gIC5icjMtbnMgeyAgICAgYm9yZGVyLXJhZGl1czogLjVyZW07IH1cbiAgLmJyNC1ucyB7ICAgICBib3JkZXItcmFkaXVzOiAxcmVtOyB9XG4gIC5ici0xMDAtbnMgeyAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAuYnItcGlsbC1ucyB7IGJvcmRlci1yYWRpdXM6IDk5OTlweDsgfVxuICAuYnItLWJvdHRvbS1ucyB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmJyLS10b3AtbnMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tcmlnaHQtbnMge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmJyLS1sZWZ0LW5zIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5icjAtbSB7ICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5icjEtbSB7ICAgICBib3JkZXItcmFkaXVzOiAuMTI1cmVtOyB9XG4gIC5icjItbSB7ICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07IH1cbiAgLmJyMy1tIHsgICAgIGJvcmRlci1yYWRpdXM6IC41cmVtOyB9XG4gIC5icjQtbSB7ICAgICBib3JkZXItcmFkaXVzOiAxcmVtOyB9XG4gIC5ici0xMDAtbSB7ICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gIC5ici1waWxsLW0geyBib3JkZXItcmFkaXVzOiA5OTk5cHg7IH1cbiAgLmJyLS1ib3R0b20tbSB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmJyLS10b3AtbSB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmJyLS1yaWdodC1tIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tbGVmdC1tIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLmJyMC1sIHsgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmJyMS1sIHsgICAgIGJvcmRlci1yYWRpdXM6IC4xMjVyZW07IH1cbiAgLmJyMi1sIHsgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTsgfVxuICAuYnIzLWwgeyAgICAgYm9yZGVyLXJhZGl1czogLjVyZW07IH1cbiAgLmJyNC1sIHsgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07IH1cbiAgLmJyLTEwMC1sIHsgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgLmJyLXBpbGwtbCB7IGJvcmRlci1yYWRpdXM6IDk5OTlweDsgfVxuICAuYnItLWJvdHRvbS1sIHtcbiAgICAgIGJvcmRlci1yYWRpdXMtdG9wLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzLXRvcC1yaWdodDogMDtcbiAgfVxuICAuYnItLXRvcC1sIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuYnItLXJpZ2h0LWwge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmJyLS1sZWZ0LWwge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuIiwiLypcblxuICAgQk9SREVSIFNUWUxFU1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdGhlbWVzL2JvcmRlcnMvXG5cbiAgIERlcGVuZHMgb24gYmFzZSBib3JkZXIgbW9kdWxlIGluIF9ib3JkZXJzLmNzc1xuXG4gICBCYXNlOlxuICAgICBiID0gYm9yZGVyLXN0eWxlXG5cbiAgIE1vZGlmaWVyczpcbiAgICAgLS1ub25lICAgPSBub25lXG4gICAgIC0tZG90dGVkID0gZG90dGVkXG4gICAgIC0tZGFzaGVkID0gZGFzaGVkXG4gICAgIC0tc29saWQgID0gc29saWRcblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4gKi9cblxuLmItLWRvdHRlZCB7IGJvcmRlci1zdHlsZTogZG90dGVkOyB9XG4uYi0tZGFzaGVkIHsgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7IH1cbi5iLS1zb2xpZCB7ICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4uYi0tbm9uZSB7ICAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAuYi0tZG90dGVkLW5zIHsgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7IH1cbiAgLmItLWRhc2hlZC1ucyB7IGJvcmRlci1zdHlsZTogZGFzaGVkOyB9XG4gIC5iLS1zb2xpZC1ucyB7ICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gIC5iLS1ub25lLW5zIHsgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5iLS1kb3R0ZWQtbSB7IGJvcmRlci1zdHlsZTogZG90dGVkOyB9XG4gIC5iLS1kYXNoZWQtbSB7IGJvcmRlci1zdHlsZTogZGFzaGVkOyB9XG4gIC5iLS1zb2xpZC1tIHsgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgLmItLW5vbmUtbSB7ICAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC5iLS1kb3R0ZWQtbCB7IGJvcmRlci1zdHlsZTogZG90dGVkOyB9XG4gIC5iLS1kYXNoZWQtbCB7IGJvcmRlci1zdHlsZTogZGFzaGVkOyB9XG4gIC5iLS1zb2xpZC1sIHsgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgLmItLW5vbmUtbCB7ICAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG59XG4iLCIvKlxuXG4gICBCT1JERVIgV0lEVEhTXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90aGVtZXMvYm9yZGVycy9cblxuICAgQmFzZTpcbiAgICAgYncgPSBib3JkZXItd2lkdGhcblxuICAgTW9kaWZpZXJzOlxuICAgICAwID0gMCB3aWR0aCBib3JkZXJcbiAgICAgMSA9IDFzdCBzdGVwIGluIGJvcmRlci13aWR0aCBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gYm9yZGVyLXdpZHRoIHNjYWxlXG4gICAgIDMgPSAzcmQgc3RlcCBpbiBib3JkZXItd2lkdGggc2NhbGVcbiAgICAgNCA9IDR0aCBzdGVwIGluIGJvcmRlci13aWR0aCBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gYm9yZGVyLXdpZHRoIHNjYWxlXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1ucyA9IG5vdC1zbWFsbFxuICAgICAtbSAgPSBtZWRpdW1cbiAgICAgLWwgID0gbGFyZ2VcblxuKi9cblxuLmJ3MCB7IGJvcmRlci13aWR0aDogMDsgfVxuLmJ3MSB7IGJvcmRlci13aWR0aDogLjEyNXJlbTsgfVxuLmJ3MiB7IGJvcmRlci13aWR0aDogLjI1cmVtOyB9XG4uYnczIHsgYm9yZGVyLXdpZHRoOiAuNXJlbTsgfVxuLmJ3NCB7IGJvcmRlci13aWR0aDogMXJlbTsgfVxuLmJ3NSB7IGJvcmRlci13aWR0aDogMnJlbTsgfVxuXG4vKiBSZXNldHMgKi9cbi5idC0wIHsgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuLmJyLTAgeyBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cbi5iYi0wIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuLmJsLTAgeyBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLmJ3MC1ucyB7IGJvcmRlci13aWR0aDogMDsgfVxuICAuYncxLW5zIHsgYm9yZGVyLXdpZHRoOiAuMTI1cmVtOyB9XG4gIC5idzItbnMgeyBib3JkZXItd2lkdGg6IC4yNXJlbTsgfVxuICAuYnczLW5zIHsgYm9yZGVyLXdpZHRoOiAuNXJlbTsgfVxuICAuYnc0LW5zIHsgYm9yZGVyLXdpZHRoOiAxcmVtOyB9XG4gIC5idzUtbnMgeyBib3JkZXItd2lkdGg6IDJyZW07IH1cbiAgLmJ0LTAtbnMgeyBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG4gIC5ici0wLW5zIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5iYi0wLW5zIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAuYmwtMC1ucyB7IGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAuYncwLW0geyBib3JkZXItd2lkdGg6IDA7IH1cbiAgLmJ3MS1tIHsgYm9yZGVyLXdpZHRoOiAuMTI1cmVtOyB9XG4gIC5idzItbSB7IGJvcmRlci13aWR0aDogLjI1cmVtOyB9XG4gIC5idzMtbSB7IGJvcmRlci13aWR0aDogLjVyZW07IH1cbiAgLmJ3NC1tIHsgYm9yZGVyLXdpZHRoOiAxcmVtOyB9XG4gIC5idzUtbSB7IGJvcmRlci13aWR0aDogMnJlbTsgfVxuICAuYnQtMC1tIHsgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuICAuYnItMC1tIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5iYi0wLW0geyBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG4gIC5ibC0wLW0geyBib3JkZXItbGVmdC13aWR0aDogMDsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAuYncwLWwgeyBib3JkZXItd2lkdGg6IDA7IH1cbiAgLmJ3MS1sIHsgYm9yZGVyLXdpZHRoOiAuMTI1cmVtOyB9XG4gIC5idzItbCB7IGJvcmRlci13aWR0aDogLjI1cmVtOyB9XG4gIC5idzMtbCB7IGJvcmRlci13aWR0aDogLjVyZW07IH1cbiAgLmJ3NC1sIHsgYm9yZGVyLXdpZHRoOiAxcmVtOyB9XG4gIC5idzUtbCB7IGJvcmRlci13aWR0aDogMnJlbTsgfVxuICAuYnQtMC1sIHsgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuICAuYnItMC1sIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5iYi0wLWwgeyBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG4gIC5ibC0wLWwgeyBib3JkZXItbGVmdC13aWR0aDogMDsgfVxufVxuIiwiLypcblxuICBCT1gtU0hBRE9XXG4gIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy9ib3gtc2hhZG93L1xuXG4gIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAtbnMgPSBub3Qtc21hbGxcbiAgIC1tICA9IG1lZGl1bVxuICAgLWwgID0gbGFyZ2VcblxuICovXG5cbi5zaGFkb3ctMSB7IGJveC1zaGFkb3c6IDBweCAwcHggNHB4IDJweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuLnNoYWRvdy0yIHsgYm94LXNoYWRvdzogMHB4IDBweCA4cHggMnB4IHJnYmEoIDAsIDAsIDAsIDAuMiApOyB9XG4uc2hhZG93LTMgeyBib3gtc2hhZG93OiAycHggMnB4IDRweCAycHggcmdiYSggMCwgMCwgMCwgMC4yICk7IH1cbi5zaGFkb3ctNCB7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IDBweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuLnNoYWRvdy01IHsgYm94LXNoYWRvdzogNHB4IDRweCA4cHggMHB4IHJnYmEoIDAsIDAsIDAsIDAuMiApOyB9XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAuc2hhZG93LTEtbnMgeyBib3gtc2hhZG93OiAwcHggMHB4IDRweCAycHggcmdiYSggMCwgMCwgMCwgMC4yICk7IH1cbiAgLnNoYWRvdy0yLW5zIHsgYm94LXNoYWRvdzogMHB4IDBweCA4cHggMnB4IHJnYmEoIDAsIDAsIDAsIDAuMiApOyB9XG4gIC5zaGFkb3ctMy1ucyB7IGJveC1zaGFkb3c6IDJweCAycHggNHB4IDJweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTQtbnMgeyBib3gtc2hhZG93OiAycHggMnB4IDhweCAwcHggcmdiYSggMCwgMCwgMCwgMC4yICk7IH1cbiAgLnNoYWRvdy01LW5zIHsgYm94LXNoYWRvdzogNHB4IDRweCA4cHggMHB4IHJnYmEoIDAsIDAsIDAsIDAuMiApOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAuc2hhZG93LTEtbSB7IGJveC1zaGFkb3c6IDBweCAwcHggNHB4IDJweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTItbSB7IGJveC1zaGFkb3c6IDBweCAwcHggOHB4IDJweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTMtbSB7IGJveC1zaGFkb3c6IDJweCAycHggNHB4IDJweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTQtbSB7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IDBweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTUtbSB7IGJveC1zaGFkb3c6IDRweCA0cHggOHB4IDBweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAuc2hhZG93LTEtbCB7IGJveC1zaGFkb3c6IDBweCAwcHggNHB4IDJweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTItbCB7IGJveC1zaGFkb3c6IDBweCAwcHggOHB4IDJweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTMtbCB7IGJveC1zaGFkb3c6IDJweCAycHggNHB4IDJweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTQtbCB7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IDBweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxuICAuc2hhZG93LTUtbCB7IGJveC1zaGFkb3c6IDRweCA0cHggOHB4IDBweCByZ2JhKCAwLCAwLCAwLCAwLjIgKTsgfVxufVxuIiwiLypcblxuICAgQ09ERVxuXG4qL1xuXG4ucHJlIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdzogICBzY3JvbGw7XG59XG4iLCIvKlxuXG4gICBDT09SRElOQVRFU1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvbGF5b3V0L3Bvc2l0aW9uL1xuXG4gICBVc2UgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgcG9zaXRpb24gbW9kdWxlLlxuXG4gICBCYXNlOlxuICAgICB0b3BcbiAgICAgYm90dG9tXG4gICAgIHJpZ2h0XG4gICAgIGxlZnRcblxuICAgTW9kaWZpZXJzOlxuICAgICAtMCAgPSBsaXRlcmFsIHZhbHVlIDBcbiAgICAgLTEgID0gbGl0ZXJhbCB2YWx1ZSAxXG4gICAgIC0yICA9IGxpdGVyYWwgdmFsdWUgMlxuICAgICAtLTEgPSBsaXRlcmFsIHZhbHVlIC0xXG4gICAgIC0tMiA9IGxpdGVyYWwgdmFsdWUgLTJcblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4udG9wLTAgICAgeyB0b3A6ICAgIDA7IH1cbi5yaWdodC0wICB7IHJpZ2h0OiAgMDsgfVxuLmJvdHRvbS0wIHsgYm90dG9tOiAwOyB9XG4ubGVmdC0wICAgeyBsZWZ0OiAgIDA7IH1cblxuLnRvcC0xICAgIHsgdG9wOiAgICAxcmVtOyB9XG4ucmlnaHQtMSAgeyByaWdodDogIDFyZW07IH1cbi5ib3R0b20tMSB7IGJvdHRvbTogMXJlbTsgfVxuLmxlZnQtMSAgIHsgbGVmdDogICAxcmVtOyB9XG5cbi50b3AtMiAgICB7IHRvcDogICAgMnJlbTsgfVxuLnJpZ2h0LTIgIHsgcmlnaHQ6ICAycmVtOyB9XG4uYm90dG9tLTIgeyBib3R0b206IDJyZW07IH1cbi5sZWZ0LTIgICB7IGxlZnQ6ICAgMnJlbTsgfVxuXG4udG9wLS0xICAgIHsgdG9wOiAgICAtMXJlbTsgfVxuLnJpZ2h0LS0xICB7IHJpZ2h0OiAgLTFyZW07IH1cbi5ib3R0b20tLTEgeyBib3R0b206IC0xcmVtOyB9XG4ubGVmdC0tMSAgIHsgbGVmdDogICAtMXJlbTsgfVxuXG4udG9wLS0yICAgIHsgdG9wOiAgICAtMnJlbTsgfVxuLnJpZ2h0LS0yICB7IHJpZ2h0OiAgLTJyZW07IH1cbi5ib3R0b20tLTIgeyBib3R0b206IC0ycmVtOyB9XG4ubGVmdC0tMiAgIHsgbGVmdDogICAtMnJlbTsgfVxuXG5cbi5hYnNvbHV0ZS0tZmlsbCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC50b3AtMC1ucyAgICAgeyB0b3A6ICAgMDsgfVxuICAubGVmdC0wLW5zICAgIHsgbGVmdDogIDA7IH1cbiAgLnJpZ2h0LTAtbnMgICB7IHJpZ2h0OiAwOyB9XG4gIC5ib3R0b20tMC1ucyAgeyBib3R0b206IDA7IH1cbiAgLnRvcC0xLW5zICAgICB7IHRvcDogICAxcmVtOyB9XG4gIC5sZWZ0LTEtbnMgICAgeyBsZWZ0OiAgMXJlbTsgfVxuICAucmlnaHQtMS1ucyAgIHsgcmlnaHQ6IDFyZW07IH1cbiAgLmJvdHRvbS0xLW5zICB7IGJvdHRvbTogMXJlbTsgfVxuICAudG9wLTItbnMgICAgIHsgdG9wOiAgIDJyZW07IH1cbiAgLmxlZnQtMi1ucyAgICB7IGxlZnQ6ICAycmVtOyB9XG4gIC5yaWdodC0yLW5zICAgeyByaWdodDogMnJlbTsgfVxuICAuYm90dG9tLTItbnMgIHsgYm90dG9tOiAycmVtOyB9XG4gIC50b3AtLTEtbnMgICAgeyB0b3A6ICAgIC0xcmVtOyB9XG4gIC5yaWdodC0tMS1ucyAgeyByaWdodDogIC0xcmVtOyB9XG4gIC5ib3R0b20tLTEtbnMgeyBib3R0b206IC0xcmVtOyB9XG4gIC5sZWZ0LS0xLW5zICAgeyBsZWZ0OiAgIC0xcmVtOyB9XG4gIC50b3AtLTItbnMgICAgeyB0b3A6ICAgIC0ycmVtOyB9XG4gIC5yaWdodC0tMi1ucyAgeyByaWdodDogIC0ycmVtOyB9XG4gIC5ib3R0b20tLTItbnMgeyBib3R0b206IC0ycmVtOyB9XG4gIC5sZWZ0LS0yLW5zICAgeyBsZWZ0OiAgIC0ycmVtOyB9XG4gIC5hYnNvbHV0ZS0tZmlsbC1ucyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAudG9wLTAtbSAgICAgeyB0b3A6ICAgMDsgfVxuICAubGVmdC0wLW0gICAgeyBsZWZ0OiAgMDsgfVxuICAucmlnaHQtMC1tICAgeyByaWdodDogMDsgfVxuICAuYm90dG9tLTAtbSAgeyBib3R0b206IDA7IH1cbiAgLnRvcC0xLW0gICAgIHsgdG9wOiAgIDFyZW07IH1cbiAgLmxlZnQtMS1tICAgIHsgbGVmdDogIDFyZW07IH1cbiAgLnJpZ2h0LTEtbSAgIHsgcmlnaHQ6IDFyZW07IH1cbiAgLmJvdHRvbS0xLW0gIHsgYm90dG9tOiAxcmVtOyB9XG4gIC50b3AtMi1tICAgICB7IHRvcDogICAycmVtOyB9XG4gIC5sZWZ0LTItbSAgICB7IGxlZnQ6ICAycmVtOyB9XG4gIC5yaWdodC0yLW0gICB7IHJpZ2h0OiAycmVtOyB9XG4gIC5ib3R0b20tMi1tICB7IGJvdHRvbTogMnJlbTsgfVxuICAudG9wLS0xLW0gICAgeyB0b3A6ICAgIC0xcmVtOyB9XG4gIC5yaWdodC0tMS1tICB7IHJpZ2h0OiAgLTFyZW07IH1cbiAgLmJvdHRvbS0tMS1tIHsgYm90dG9tOiAtMXJlbTsgfVxuICAubGVmdC0tMS1tICAgeyBsZWZ0OiAgIC0xcmVtOyB9XG4gIC50b3AtLTItbSAgICB7IHRvcDogICAgLTJyZW07IH1cbiAgLnJpZ2h0LS0yLW0gIHsgcmlnaHQ6ICAtMnJlbTsgfVxuICAuYm90dG9tLS0yLW0geyBib3R0b206IC0ycmVtOyB9XG4gIC5sZWZ0LS0yLW0gICB7IGxlZnQ6ICAgLTJyZW07IH1cbiAgLmFic29sdXRlLS1maWxsLW0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAudG9wLTAtbCAgICAgeyB0b3A6ICAgMDsgfVxuICAubGVmdC0wLWwgICAgeyBsZWZ0OiAgMDsgfVxuICAucmlnaHQtMC1sICAgeyByaWdodDogMDsgfVxuICAuYm90dG9tLTAtbCAgeyBib3R0b206IDA7IH1cbiAgLnRvcC0xLWwgICAgIHsgdG9wOiAgIDFyZW07IH1cbiAgLmxlZnQtMS1sICAgIHsgbGVmdDogIDFyZW07IH1cbiAgLnJpZ2h0LTEtbCAgIHsgcmlnaHQ6IDFyZW07IH1cbiAgLmJvdHRvbS0xLWwgIHsgYm90dG9tOiAxcmVtOyB9XG4gIC50b3AtMi1sICAgICB7IHRvcDogICAycmVtOyB9XG4gIC5sZWZ0LTItbCAgICB7IGxlZnQ6ICAycmVtOyB9XG4gIC5yaWdodC0yLWwgICB7IHJpZ2h0OiAycmVtOyB9XG4gIC5ib3R0b20tMi1sICB7IGJvdHRvbTogMnJlbTsgfVxuICAudG9wLS0xLWwgICAgeyB0b3A6ICAgIC0xcmVtOyB9XG4gIC5yaWdodC0tMS1sICB7IHJpZ2h0OiAgLTFyZW07IH1cbiAgLmJvdHRvbS0tMS1sIHsgYm90dG9tOiAtMXJlbTsgfVxuICAubGVmdC0tMS1sICAgeyBsZWZ0OiAgIC0xcmVtOyB9XG4gIC50b3AtLTItbCAgICB7IHRvcDogICAgLTJyZW07IH1cbiAgLnJpZ2h0LS0yLWwgIHsgcmlnaHQ6ICAtMnJlbTsgfVxuICAuYm90dG9tLS0yLWwgeyBib3R0b206IC0ycmVtOyB9XG4gIC5sZWZ0LS0yLWwgICB7IGxlZnQ6ICAgLTJyZW07IH1cbiAgLmFic29sdXRlLS1maWxsLWwge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuIiwiLypcblxuICAgQ0xFQVJGSVhcbiAgIGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2xheW91dC9jbGVhcmZpeC9cblxuKi9cblxuLyogTmljb2xhcyBHYWxsYWdoZXJzIENsZWFyZml4IHNvbHV0aW9uXG4gICBSZWY6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyAqL1xuXG4uY2Y6YmVmb3JlLFxuLmNmOmFmdGVyIHsgY29udGVudDogXCIgXCI7IGRpc3BsYXk6IHRhYmxlOyB9XG4uY2Y6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuLmNmIHsgICAgICAgKnpvb206IDE7IH1cblxuLmNsIHsgY2xlYXI6IGxlZnQ7IH1cbi5jciB7IGNsZWFyOiByaWdodDsgfVxuLmNiIHsgY2xlYXI6IGJvdGg7IH1cbi5jbiB7IGNsZWFyOiBub25lOyB9XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAuY2wtbnMgeyBjbGVhcjogbGVmdDsgfVxuICAuY3ItbnMgeyBjbGVhcjogcmlnaHQ7IH1cbiAgLmNiLW5zIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmNuLW5zIHsgY2xlYXI6IG5vbmU7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5jbC1tIHsgY2xlYXI6IGxlZnQ7IH1cbiAgLmNyLW0geyBjbGVhcjogcmlnaHQ7IH1cbiAgLmNiLW0geyBjbGVhcjogYm90aDsgfVxuICAuY24tbSB7IGNsZWFyOiBub25lOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC5jbC1sIHsgY2xlYXI6IGxlZnQ7IH1cbiAgLmNyLWwgeyBjbGVhcjogcmlnaHQ7IH1cbiAgLmNiLWwgeyBjbGVhcjogYm90aDsgfVxuICAuY24tbCB7IGNsZWFyOiBub25lOyB9XG59XG4iLCIvKlxuXG4gICBESVNQTEFZXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9sYXlvdXQvZGlzcGxheVxuXG4gICBCYXNlOlxuICAgIGQgPSBkaXNwbGF5XG5cbiAgIE1vZGlmaWVyczpcbiAgICBuICAgICA9IG5vbmVcbiAgICBiICAgICA9IGJsb2NrXG4gICAgaWIgICAgPSBpbmxpbmUtYmxvY2tcbiAgICBpdCAgICA9IGlubGluZS10YWJsZVxuICAgIHQgICAgID0gdGFibGVcbiAgICB0YyAgICA9IHRhYmxlLWNlbGxcbiAgICB0ciAgICA9IHRhYmxlLXJvd1xuICAgIHRjb2wgID0gdGFibGUtY29sdW1uXG4gICAgdGNvbGcgPSB0YWJsZS1jb2x1bW4tZ3JvdXBcblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4uZG4geyAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuLmRpIHsgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuLmRiIHsgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4uZGliIHsgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4uZGl0IHsgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlOyB9XG4uZHQgeyAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbi5kdGMgeyAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4uZHQtcm93IHsgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4uZHQtcm93LWdyb3VwIHsgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XG4uZHQtY29sdW1uIHsgICAgICAgZGlzcGxheTogdGFibGUtY29sdW1uOyB9XG4uZHQtY29sdW1uLWdyb3VwIHsgZGlzcGxheTogdGFibGUtY29sdW1uLWdyb3VwOyB9XG5cbi8qXG4gIFRoaXMgd2lsbCBzZXQgdGFibGUgdG8gZnVsbCB3aWR0aCBhbmQgdGhlblxuICBhbGwgY2VsbHMgd2lsbCBiZSBlcXVhbCB3aWR0aFxuKi9cbi5kdC0tZml4ZWQge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC5kbi1ucyB7ICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5kaS1ucyB7ICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmRiLW5zIHsgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kaWItbnMgeyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmRpdC1ucyB7ICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTsgfVxuICAuZHQtbnMgeyAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmR0Yy1ucyB7ICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLmR0LXJvdy1ucyB7ICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAuZHQtcm93LWdyb3VwLW5zIHsgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XG4gIC5kdC1jb2x1bW4tbnMgeyAgICAgICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47IH1cbiAgLmR0LWNvbHVtbi1ncm91cC1ucyB7IGRpc3BsYXk6IHRhYmxlLWNvbHVtbi1ncm91cDsgfVxuXG4gIC5kdC0tZml4ZWQtbnMge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5kbi1tIHsgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRpLW0geyAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5kYi1tIHsgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kaWItbSB7ICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZGl0LW0geyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7IH1cbiAgLmR0LW0geyAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmR0Yy1tIHsgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAuZHQtcm93LW0geyAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgLmR0LXJvdy1ncm91cC1tIHsgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XG4gIC5kdC1jb2x1bW4tbSB7ICAgICAgIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjsgfVxuICAuZHQtY29sdW1uLWdyb3VwLW0geyBkaXNwbGF5OiB0YWJsZS1jb2x1bW4tZ3JvdXA7IH1cblxuICAuZHQtLWZpeGVkLW0ge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLmRuLWwgeyAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZGktbCB7ICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmRiLWwgeyAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRpYi1sIHsgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5kaXQtbCB7ICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTsgfVxuICAuZHQtbCB7ICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuZHRjLWwgeyAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5kdC1yb3ctbCB7ICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAuZHQtcm93LWdyb3VwLWwgeyAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cbiAgLmR0LWNvbHVtbi1sIHsgICAgICAgZGlzcGxheTogdGFibGUtY29sdW1uOyB9XG4gIC5kdC1jb2x1bW4tZ3JvdXAtbCB7IGRpc3BsYXk6IHRhYmxlLWNvbHVtbi1ncm91cDsgfVxuXG4gIC5kdC0tZml4ZWQtbCB7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4iLCIvKlxuXG4gIEZMRVhCT1hcblxuICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgLW5zID0gbm90LXNtYWxsXG4gICAtbSAgPSBtZWRpdW1cbiAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5mbGV4IHsgZGlzcGxheTogZmxleDsgfVxuLmlubGluZS1mbGV4IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLyogMS4gRml4IGZvciBDaHJvbWUgNDQgYnVnLlxuICogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTUwNjg5MyAqL1xuLmZsZXgtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7IC8qIDEgKi9cbiAgbWluLWhlaWdodDogMDsgLyogMSAqL1xufVxuXG4uZmxleC1ub25lIHsgZmxleDogbm9uZTsgfVxuXG4uZmxleC1jb2x1bW4gIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLmZsZXgtcm93ICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbi5mbGV4LXdyYXAgICAgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLml0ZW1zLXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbi5pdGVtcy1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuLml0ZW1zLWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLml0ZW1zLWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4uaXRlbXMtc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uc2VsZi1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbi5zZWxmLWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbi5zZWxmLWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4uc2VsZi1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lOyB9XG4uc2VsZi1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmp1c3RpZnktc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuLmp1c3RpZnktZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi5qdXN0aWZ5LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLmp1c3RpZnktYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLmp1c3RpZnktYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5jb250ZW50LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4uY29udGVudC1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH1cbi5jb250ZW50LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbi5jb250ZW50LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4uY29udGVudC1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4uY29udGVudC1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuXG4ub3JkZXItMCB7IG9yZGVyOiAwOyB9XG4ub3JkZXItMSB7IG9yZGVyOiAxOyB9XG4ub3JkZXItMiB7IG9yZGVyOiAyOyB9XG4ub3JkZXItMyB7IG9yZGVyOiAzOyB9XG4ub3JkZXItNCB7IG9yZGVyOiA0OyB9XG4ub3JkZXItNSB7IG9yZGVyOiA1OyB9XG4ub3JkZXItNiB7IG9yZGVyOiA2OyB9XG4ub3JkZXItNyB7IG9yZGVyOiA3OyB9XG4ub3JkZXItOCB7IG9yZGVyOiA4OyB9XG4ub3JkZXItbGFzdCB7IG9yZGVyOiA5OTk5OTsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLmZsZXgtbnMgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5pbmxpbmUtZmxleC1ucyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gIC5mbGV4LWF1dG8tbnMge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDsgLyogMSAqL1xuICAgIG1pbi1oZWlnaHQ6IDA7IC8qIDEgKi9cbiAgfVxuICAuZmxleC1ub25lLW5zIHsgZmxleDogbm9uZTsgfVxuICAuZmxleC1jb2x1bW4tbnMgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbGV4LXJvdy1ucyAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5mbGV4LXdyYXAtbnMgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLml0ZW1zLXN0YXJ0LW5zIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLml0ZW1zLWVuZC1ucyB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuaXRlbXMtY2VudGVyLW5zIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaXRlbXMtYmFzZWxpbmUtbnMgeyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLml0ZW1zLXN0cmV0Y2gtbnMgeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4gIC5zZWxmLXN0YXJ0LW5zIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAuc2VsZi1lbmQtbnMgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAuc2VsZi1jZW50ZXItbnMgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLnNlbGYtYmFzZWxpbmUtbnMgeyBhbGlnbi1zZWxmOiBiYXNlbGluZTsgfVxuICAuc2VsZi1zdHJldGNoLW5zIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4gIC5qdXN0aWZ5LXN0YXJ0LW5zIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5qdXN0aWZ5LWVuZC1ucyB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmp1c3RpZnktY2VudGVyLW5zIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmp1c3RpZnktYmV0d2Vlbi1ucyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuanVzdGlmeS1hcm91bmQtbnMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4gIC5jb250ZW50LXN0YXJ0LW5zIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY29udGVudC1lbmQtbnMgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuY29udGVudC1jZW50ZXItbnMgeyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNvbnRlbnQtYmV0d2Vlbi1ucyB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmNvbnRlbnQtYXJvdW5kLW5zIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5jb250ZW50LXN0cmV0Y2gtbnMgeyBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG5cbiAgLm9yZGVyLTAtbnMgeyBvcmRlcjogMDsgfVxuICAub3JkZXItMS1ucyB7IG9yZGVyOiAxOyB9XG4gIC5vcmRlci0yLW5zIHsgb3JkZXI6IDI7IH1cbiAgLm9yZGVyLTMtbnMgeyBvcmRlcjogMzsgfVxuICAub3JkZXItNC1ucyB7IG9yZGVyOiA0OyB9XG4gIC5vcmRlci01LW5zIHsgb3JkZXI6IDU7IH1cbiAgLm9yZGVyLTYtbnMgeyBvcmRlcjogNjsgfVxuICAub3JkZXItNy1ucyB7IG9yZGVyOiA3OyB9XG4gIC5vcmRlci04LW5zIHsgb3JkZXI6IDg7IH1cbiAgLm9yZGVyLWxhc3QtbnMgeyBvcmRlcjogOTk5OTk7IH1cbn1cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAuZmxleC1tIHsgZGlzcGxheTogZmxleDsgfVxuICAuaW5saW5lLWZsZXgtbSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gIC5mbGV4LWF1dG8tbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwOyAvKiAxICovXG4gICAgbWluLWhlaWdodDogMDsgLyogMSAqL1xuICB9XG4gIC5mbGV4LW5vbmUtbSB7IGZsZXg6IG5vbmU7IH1cbiAgLmZsZXgtY29sdW1uLW0geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbGV4LXJvdy1tICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmZsZXgtd3JhcC1tIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5pdGVtcy1zdGFydC1tIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLml0ZW1zLWVuZC1tIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5pdGVtcy1jZW50ZXItbSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLml0ZW1zLWJhc2VsaW5lLW0geyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLml0ZW1zLXN0cmV0Y2gtbSB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbiAgLnNlbGYtc3RhcnQtbSB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLnNlbGYtZW5kLW0geyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAuc2VsZi1jZW50ZXItbSB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuc2VsZi1iYXNlbGluZS1tIHsgYWxpZ24tc2VsZjogYmFzZWxpbmU7IH1cbiAgLnNlbGYtc3RyZXRjaC1tIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4gIC5qdXN0aWZ5LXN0YXJ0LW0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmp1c3RpZnktZW5kLW0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5qdXN0aWZ5LWNlbnRlci1tIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmp1c3RpZnktYmV0d2Vlbi1tIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5qdXN0aWZ5LWFyb3VuZC1tIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuICAuY29udGVudC1zdGFydC1tIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY29udGVudC1lbmQtbSB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5jb250ZW50LWNlbnRlci1tIHsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4gIC5jb250ZW50LWJldHdlZW4tbSB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmNvbnRlbnQtYXJvdW5kLW0geyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmNvbnRlbnQtc3RyZXRjaC1tIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuXG4gIC5vcmRlci0wLW0geyBvcmRlcjogMDsgfVxuICAub3JkZXItMS1tIHsgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLTItbSB7IG9yZGVyOiAyOyB9XG4gIC5vcmRlci0zLW0geyBvcmRlcjogMzsgfVxuICAub3JkZXItNC1tIHsgb3JkZXI6IDQ7IH1cbiAgLm9yZGVyLTUtbSB7IG9yZGVyOiA1OyB9XG4gIC5vcmRlci02LW0geyBvcmRlcjogNjsgfVxuICAub3JkZXItNy1tIHsgb3JkZXI6IDc7IH1cbiAgLm9yZGVyLTgtbSB7IG9yZGVyOiA4OyB9XG4gIC5vcmRlci1sYXN0LW0geyBvcmRlcjogOTk5OTk7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLmZsZXgtbCB7IGRpc3BsYXk6IGZsZXg7IH1cbiAgLmlubGluZS1mbGV4LWwgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAuZmxleC1hdXRvLWwge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDsgLyogMSAqL1xuICAgIG1pbi1oZWlnaHQ6IDA7IC8qIDEgKi9cbiAgfVxuICAuZmxleC1ub25lLWwgeyBmbGV4OiBub25lOyB9XG4gIC5mbGV4LWNvbHVtbi1sIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxleC1yb3ctbCB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmZsZXgtd3JhcC1sIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5pdGVtcy1zdGFydC1sIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLml0ZW1zLWVuZC1sIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5pdGVtcy1jZW50ZXItbCB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLml0ZW1zLWJhc2VsaW5lLWwgeyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLml0ZW1zLXN0cmV0Y2gtbCB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbiAgLnNlbGYtc3RhcnQtbCB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLnNlbGYtZW5kLWwgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAuc2VsZi1jZW50ZXItbCB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuc2VsZi1iYXNlbGluZS1sIHsgYWxpZ24tc2VsZjogYmFzZWxpbmU7IH1cbiAgLnNlbGYtc3RyZXRjaC1sIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4gIC5qdXN0aWZ5LXN0YXJ0LWwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmp1c3RpZnktZW5kLWwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5qdXN0aWZ5LWNlbnRlci1sIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmp1c3RpZnktYmV0d2Vlbi1sIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5qdXN0aWZ5LWFyb3VuZC1sIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuICAuY29udGVudC1zdGFydC1sIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY29udGVudC1lbmQtbCB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5jb250ZW50LWNlbnRlci1sIHsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4gIC5jb250ZW50LWJldHdlZW4tbCB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmNvbnRlbnQtYXJvdW5kLWwgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmNvbnRlbnQtc3RyZXRjaC1sIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuXG4gIC5vcmRlci0wLWwgeyBvcmRlcjogMDsgfVxuICAub3JkZXItMS1sIHsgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLTItbCB7IG9yZGVyOiAyOyB9XG4gIC5vcmRlci0zLWwgeyBvcmRlcjogMzsgfVxuICAub3JkZXItNC1sIHsgb3JkZXI6IDQ7IH1cbiAgLm9yZGVyLTUtbCB7IG9yZGVyOiA1OyB9XG4gIC5vcmRlci02LWwgeyBvcmRlcjogNjsgfVxuICAub3JkZXItNy1sIHsgb3JkZXI6IDc7IH1cbiAgLm9yZGVyLTgtbCB7IG9yZGVyOiA4OyB9XG4gIC5vcmRlci1sYXN0LWwgeyBvcmRlcjogOTk5OTk7IH1cbn1cbiIsIi8qXG5cbiAgIEZMT0FUU1xuICAgaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvbGF5b3V0L2Zsb2F0cy9cblxuICAgMS4gRmxvYXRlZCBlbGVtZW50cyBhcmUgYXV0b21hdGljYWxseSByZW5kZXJlZCBhcyBibG9jayBsZXZlbCBlbGVtZW50cy5cbiAgICAgIFNldHRpbmcgZmxvYXRzIHRvIGRpc3BsYXkgaW5saW5lIHdpbGwgZml4IHRoZSBkb3VibGUgbWFyZ2luIGJ1ZyBpblxuICAgICAgaWU2LiBZb3Uga25vdy4uLiBqdXN0IGluIGNhc2UuXG5cbiAgIDIuIERvbid0IGZvcmdldCB0byBjbGVhcmZpeCB5b3VyIGZsb2F0cyB3aXRoIC5jZlxuXG4gICBCYXNlOlxuICAgICBmID0gZmxvYXRcblxuICAgTW9kaWZpZXJzOlxuICAgICBsID0gbGVmdFxuICAgICByID0gcmlnaHRcbiAgICAgbiA9IG5vbmVcblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG5cblxuLmZsIHsgZmxvYXQ6IGxlZnQ7ICBfZGlzcGxheTogaW5saW5lOyB9XG4uZnIgeyBmbG9hdDogcmlnaHQ7IF9kaXNwbGF5OiBpbmxpbmU7IH1cbi5mbiB7IGZsb2F0OiBub25lOyB9XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAuZmwtbnMgeyBmbG9hdDogbGVmdDsgX2Rpc3BsYXk6IGlubGluZTsgfVxuICAuZnItbnMgeyBmbG9hdDogcmlnaHQ7IF9kaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmZuLW5zIHsgZmxvYXQ6IG5vbmU7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5mbC1tIHsgZmxvYXQ6IGxlZnQ7IF9kaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmZyLW0geyBmbG9hdDogcmlnaHQ7IF9kaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmZuLW0geyBmbG9hdDogbm9uZTsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAuZmwtbCB7IGZsb2F0OiBsZWZ0OyBfZGlzcGxheTogaW5saW5lOyB9XG4gIC5mci1sIHsgZmxvYXQ6IHJpZ2h0OyBfZGlzcGxheTogaW5saW5lOyB9XG4gIC5mbi1sIHsgZmxvYXQ6IG5vbmU7IH1cbn1cbiIsIi8qXG5cbiAgIEZPTlQgRkFNSUxZIEdST1VQU1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdHlwb2dyYXBoeS9mb250LWZhbWlseS9cblxuKi9cblxuXG4uc2Fucy1zZXJpZiB7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsXG4gICAgICAgICAgICAgICAnYXZlbmlyIG5leHQnLCBhdmVuaXIsXG4gICAgICAgICAgICAgICBoZWx2ZXRpY2EsICdoZWx2ZXRpY2EgbmV1ZScsXG4gICAgICAgICAgICAgICB1YnVudHUsXG4gICAgICAgICAgICAgICByb2JvdG8sIG5vdG8sXG4gICAgICAgICAgICAgICAnc2Vnb2UgdWknLCBhcmlhbCxcbiAgICAgICAgICAgICAgIHNhbnMtc2VyaWY7XG59XG5cbi5zZXJpZiB7XG4gIGZvbnQtZmFtaWx5OiBnZW9yZ2lhLFxuICAgICAgICAgICAgICAgdGltZXMsXG4gICAgICAgICAgICAgICBzZXJpZjtcbn1cblxuLnN5c3RlbS1zYW5zLXNlcmlmIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5zeXN0ZW0tc2VyaWYge1xuICBmb250LWZhbWlseTogc2VyaWY7XG59XG5cblxuLyogTW9ub3NwYWNlZCBUeXBlZmFjZXMgKGZvciBjb2RlKSAqL1xuXG4vKiBGcm9tIGh0dHA6Ly9jc3Nmb250c3RhY2suY29tICovXG5jb2RlLCAuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcyxcbiAgICAgICAgICAgICAgIG1vbmFjbyxcbiAgICAgICAgICAgICAgIG1vbm9zcGFjZTtcbn1cblxuLmNvdXJpZXIge1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV4dCcsXG4gICAgICAgICAgICAgICBjb3VyaWVyLFxuICAgICAgICAgICAgICAgbW9ub3NwYWNlO1xufVxuXG5cbi8qIFNhbnMtU2VyaWYgVHlwZWZhY2VzICovXG5cbi5oZWx2ZXRpY2Ege1xuICBmb250LWZhbWlseTogJ2hlbHZldGljYSBuZXVlJywgaGVsdmV0aWNhLFxuICAgICAgICAgICAgICAgc2Fucy1zZXJpZjtcbn1cblxuLmF2ZW5pciB7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyIG5leHQnLCBhdmVuaXIsXG4gICAgICAgICAgICAgICBzYW5zLXNlcmlmO1xufVxuXG5cbi8qIFNlcmlmIFR5cGVmYWNlcyAqL1xuXG4uYXRoZWxhcyB7XG4gIGZvbnQtZmFtaWx5OiBhdGhlbGFzLFxuICAgICAgICAgICAgICAgZ2VvcmdpYSxcbiAgICAgICAgICAgICAgIHNlcmlmO1xufVxuXG4uZ2VvcmdpYSB7XG4gIGZvbnQtZmFtaWx5OiBnZW9yZ2lhLFxuICAgICAgICAgICAgICAgc2VyaWY7XG59XG5cbi50aW1lcyB7XG4gIGZvbnQtZmFtaWx5OiB0aW1lcyxcbiAgICAgICAgICAgICAgIHNlcmlmO1xufVxuXG4uYm9kb25pIHtcbiAgZm9udC1mYW1pbHk6IFwiQm9kb25pIE1UXCIsXG4gICAgICAgICAgICAgICAgc2VyaWY7XG59XG5cbi5jYWxpc3RvIHtcbiAgZm9udC1mYW1pbHk6IFwiQ2FsaXN0byBNVFwiLFxuICAgICAgICAgICAgICAgIHNlcmlmO1xufVxuXG4uZ2FyYW1vbmQge1xuICBmb250LWZhbWlseTogZ2FyYW1vbmQsXG4gICAgICAgICAgICAgICBzZXJpZjtcbn1cblxuLmJhc2tlcnZpbGxlIHtcbiAgZm9udC1mYW1pbHk6IGJhc2tlcnZpbGxlLFxuICAgICAgICAgICAgICAgc2VyaWY7XG59XG5cbiIsIi8qXG5cbiAgIEZPTlQgU1RZTEVcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3R5cG9ncmFwaHkvZm9udC1zdHlsZS9cblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4uaSAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG4uZnMtbm9ybWFsIHsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAuaS1ucyAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuZnMtbm9ybWFsLW5zICAgICB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLmktbSAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuZnMtbm9ybWFsLW0gICAgIHsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC5pLWwgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLmZzLW5vcm1hbC1sICAgICB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxufVxuIiwiLypcblxuICAgRk9OVCBXRUlHSFRcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3R5cG9ncmFwaHkvZm9udC13ZWlnaHQvXG5cbiAgIEJhc2VcbiAgICAgZncgPSBmb250LXdlaWdodFxuXG4gICBNb2RpZmllcnM6XG4gICAgIDEgPSBsaXRlcmFsIHZhbHVlIDEwMFxuICAgICAyID0gbGl0ZXJhbCB2YWx1ZSAyMDBcbiAgICAgMyA9IGxpdGVyYWwgdmFsdWUgMzAwXG4gICAgIDQgPSBsaXRlcmFsIHZhbHVlIDQwMFxuICAgICA1ID0gbGl0ZXJhbCB2YWx1ZSA1MDBcbiAgICAgNiA9IGxpdGVyYWwgdmFsdWUgNjAwXG4gICAgIDcgPSBsaXRlcmFsIHZhbHVlIDcwMFxuICAgICA4ID0gbGl0ZXJhbCB2YWx1ZSA4MDBcbiAgICAgOSA9IGxpdGVyYWwgdmFsdWUgOTAwXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1ucyA9IG5vdC1zbWFsbFxuICAgICAtbSAgPSBtZWRpdW1cbiAgICAgLWwgID0gbGFyZ2VcblxuKi9cblxuLm5vcm1hbCB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbi5iICAgICAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuLmZ3MSAgICB7IGZvbnQtd2VpZ2h0OiAxMDA7IH1cbi5mdzIgICAgeyBmb250LXdlaWdodDogMjAwOyB9XG4uZnczICAgIHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuLmZ3NCAgICB7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbi5mdzUgICAgeyBmb250LXdlaWdodDogNTAwOyB9XG4uZnc2ICAgIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmZ3NyAgICB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5mdzggICAgeyBmb250LXdlaWdodDogODAwOyB9XG4uZnc5ICAgIHsgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAubm9ybWFsLW5zIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuYi1ucyAgICAgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmZ3MS1ucyAgICB7IGZvbnQtd2VpZ2h0OiAxMDA7IH1cbiAgLmZ3Mi1ucyAgICB7IGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgLmZ3My1ucyAgICB7IGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmZ3NC1ucyAgICB7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmZ3NS1ucyAgICB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmZ3Ni1ucyAgICB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmZ3Ny1ucyAgICB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmZ3OC1ucyAgICB7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgLmZ3OS1ucyAgICB7IGZvbnQtd2VpZ2h0OiA5MDA7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5ub3JtYWwtbSB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmItbSAgICAgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmZ3MS1tICAgIHsgZm9udC13ZWlnaHQ6IDEwMDsgfVxuICAuZncyLW0gICAgeyBmb250LXdlaWdodDogMjAwOyB9XG4gIC5mdzMtbSAgICB7IGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmZ3NC1tICAgIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuZnc1LW0gICAgeyBmb250LXdlaWdodDogNTAwOyB9XG4gIC5mdzYtbSAgICB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmZ3Ny1tICAgIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZnc4LW0gICAgeyBmb250LXdlaWdodDogODAwOyB9XG4gIC5mdzktbSAgICB7IGZvbnQtd2VpZ2h0OiA5MDA7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLm5vcm1hbC1sIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuYi1sICAgICAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuICAuZncxLWwgICAgeyBmb250LXdlaWdodDogMTAwOyB9XG4gIC5mdzItbCAgICB7IGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgLmZ3My1sICAgIHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuZnc0LWwgICAgeyBmb250LXdlaWdodDogNDAwOyB9XG4gIC5mdzUtbCAgICB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmZ3Ni1sICAgIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuZnc3LWwgICAgeyBmb250LXdlaWdodDogNzAwOyB9XG4gIC5mdzgtbCAgICB7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgLmZ3OS1sICAgIHsgZm9udC13ZWlnaHQ6IDkwMDsgfVxufVxuIiwiLypcblxuICAgRk9STVNcbiAgIFxuKi9cblxuLmlucHV0LXJlc2V0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5idXR0b24tcmVzZXQ6Oi1tb3otZm9jdXMtaW5uZXIsXG4uaW5wdXQtcmVzZXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKlxuXG4gICBIRUlHSFRTXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9sYXlvdXQvaGVpZ2h0cy9cblxuICAgQmFzZTpcbiAgICAgaCA9IGhlaWdodFxuICAgICBtaW4taCA9IG1pbi1oZWlnaHRcbiAgICAgbWluLXZoID0gbWluLWhlaWdodCB2ZXJ0aWNhbCBzY3JlZW4gaGVpZ2h0XG4gICAgIHZoID0gdmVydGljYWwgc2NyZWVuIGhlaWdodFxuXG4gICBNb2RpZmllcnNcbiAgICAgMSA9IDFzdCBzdGVwIGluIGhlaWdodCBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gaGVpZ2h0IHNjYWxlXG4gICAgIDMgPSAzcmQgc3RlcCBpbiBoZWlnaHQgc2NhbGVcbiAgICAgNCA9IDR0aCBzdGVwIGluIGhlaWdodCBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gaGVpZ2h0IHNjYWxlXG5cbiAgICAgLTI1ICAgPSBsaXRlcmFsIHZhbHVlIDI1JVxuICAgICAtNTAgICA9IGxpdGVyYWwgdmFsdWUgNTAlXG4gICAgIC03NSAgID0gbGl0ZXJhbCB2YWx1ZSA3NSVcbiAgICAgLTEwMCAgPSBsaXRlcmFsIHZhbHVlIDEwMCVcblxuICAgICAtYXV0byA9IHN0cmluZyB2YWx1ZSBvZiBhdXRvXG4gICAgIC1pbmhlcml0ID0gc3RyaW5nIHZhbHVlIG9mIGluaGVyaXRcblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4vKiBIZWlnaHQgU2NhbGUgKi9cblxuLmgxIHsgaGVpZ2h0OiAxcmVtOyB9XG4uaDIgeyBoZWlnaHQ6IDJyZW07IH1cbi5oMyB7IGhlaWdodDogNHJlbTsgfVxuLmg0IHsgaGVpZ2h0OiA4cmVtOyB9XG4uaDUgeyBoZWlnaHQ6IDE2cmVtOyB9XG5cbi8qIEhlaWdodCBQZXJjZW50YWdlcyAtIEJhc2VkIG9mZiBvZiBoZWlnaHQgb2YgcGFyZW50ICovXG5cbi5oLTI1IHsgIGhlaWdodDogIDI1JTsgfVxuLmgtNTAgeyAgaGVpZ2h0OiAgNTAlOyB9XG4uaC03NSB7ICBoZWlnaHQ6ICA3NSU7IH1cbi5oLTEwMCB7IGhlaWdodDogMTAwJTsgfVxuXG4ubWluLWgtMTAwIHsgbWluLWhlaWdodDogMTAwJTsgfVxuXG4vKiBTY3JlZW4gSGVpZ2h0IFBlcmNlbnRhZ2UgKi9cblxuLnZoLTI1IHsgIGhlaWdodDogIDI1dmg7IH1cbi52aC01MCB7ICBoZWlnaHQ6ICA1MHZoOyB9XG4udmgtNzUgeyAgaGVpZ2h0OiAgNzV2aDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmg7IH1cblxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG5cbi8qIFN0cmluZyBQcm9wZXJ0aWVzICovXG5cbi5oLWF1dG8geyAgICAgaGVpZ2h0OiBhdXRvOyB9XG4uaC1pbmhlcml0IHsgIGhlaWdodDogaW5oZXJpdDsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLmgxLW5zIHsgIGhlaWdodDogMXJlbTsgfVxuICAuaDItbnMgeyAgaGVpZ2h0OiAycmVtOyB9XG4gIC5oMy1ucyB7ICBoZWlnaHQ6IDRyZW07IH1cbiAgLmg0LW5zIHsgIGhlaWdodDogOHJlbTsgfVxuICAuaDUtbnMgeyAgaGVpZ2h0OiAxNnJlbTsgfVxuICAuaC0yNS1ucyB7IGhlaWdodDogMjUlOyB9XG4gIC5oLTUwLW5zIHsgaGVpZ2h0OiA1MCU7IH1cbiAgLmgtNzUtbnMgeyBoZWlnaHQ6IDc1JTsgfVxuICAuaC0xMDAtbnMgeyBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1pbi1oLTEwMC1ucyB7IG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgLnZoLTI1LW5zIHsgIGhlaWdodDogIDI1dmg7IH1cbiAgLnZoLTUwLW5zIHsgIGhlaWdodDogIDUwdmg7IH1cbiAgLnZoLTc1LW5zIHsgIGhlaWdodDogIDc1dmg7IH1cbiAgLnZoLTEwMC1ucyB7IGhlaWdodDogMTAwdmg7IH1cbiAgLm1pbi12aC0xMDAtbnMgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuICAuaC1hdXRvLW5zIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5oLWluaGVyaXQtbnMgeyBoZWlnaHQ6IGluaGVyaXQ7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5oMS1tIHsgaGVpZ2h0OiAxcmVtOyB9XG4gIC5oMi1tIHsgaGVpZ2h0OiAycmVtOyB9XG4gIC5oMy1tIHsgaGVpZ2h0OiA0cmVtOyB9XG4gIC5oNC1tIHsgaGVpZ2h0OiA4cmVtOyB9XG4gIC5oNS1tIHsgaGVpZ2h0OiAxNnJlbTsgfVxuICAuaC0yNS1tIHsgaGVpZ2h0OiAyNSU7IH1cbiAgLmgtNTAtbSB7IGhlaWdodDogNTAlOyB9XG4gIC5oLTc1LW0geyBoZWlnaHQ6IDc1JTsgfVxuICAuaC0xMDAtbSB7IGhlaWdodDogMTAwJTsgfVxuICAubWluLWgtMTAwLW5zIHsgbWluLWhlaWdodDogMTAwJTsgfVxuICAudmgtMjUtbSB7ICBoZWlnaHQ6ICAyNXZoOyB9XG4gIC52aC01MC1tIHsgIGhlaWdodDogIDUwdmg7IH1cbiAgLnZoLTc1LW0geyAgaGVpZ2h0OiAgNzV2aDsgfVxuICAudmgtMTAwLW0geyBoZWlnaHQ6IDEwMHZoOyB9XG4gIC5taW4tdmgtMTAwLW0geyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuICAuaC1hdXRvLW0geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmgtaW5oZXJpdC1tIHsgaGVpZ2h0OiBpbmhlcml0OyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC5oMS1sIHsgaGVpZ2h0OiAxcmVtOyB9XG4gIC5oMi1sIHsgaGVpZ2h0OiAycmVtOyB9XG4gIC5oMy1sIHsgaGVpZ2h0OiA0cmVtOyB9XG4gIC5oNC1sIHsgaGVpZ2h0OiA4cmVtOyB9XG4gIC5oNS1sIHsgaGVpZ2h0OiAxNnJlbTsgfVxuICAuaC0yNS1sIHsgaGVpZ2h0OiAyNSU7IH1cbiAgLmgtNTAtbCB7IGhlaWdodDogNTAlOyB9XG4gIC5oLTc1LWwgeyBoZWlnaHQ6IDc1JTsgfVxuICAuaC0xMDAtbCB7IGhlaWdodDogMTAwJTsgfVxuICAubWluLWgtMTAwLWwgeyBtaW4taGVpZ2h0OiAxMDAlOyB9XG4gIC52aC0yNS1sIHsgIGhlaWdodDogIDI1dmg7IH1cbiAgLnZoLTUwLWwgeyAgaGVpZ2h0OiAgNTB2aDsgfVxuICAudmgtNzUtbCB7ICBoZWlnaHQ6ICA3NXZoOyB9XG4gIC52aC0xMDAtbCB7IGhlaWdodDogMTAwdmg7IH1cbiAgLm1pbi12aC0xMDAtbCB7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG4gIC5oLWF1dG8tbCB7IGhlaWdodDogYXV0bzsgfVxuICAuaC1pbmhlcml0LWwgeyBoZWlnaHQ6IGluaGVyaXQ7IH1cbn1cbiIsIi8qXG5cbiAgIExFVFRFUiBTUEFDSU5HXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90eXBvZ3JhcGh5L3RyYWNraW5nL1xuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi50cmFja2VkICAgICAgIHsgbGV0dGVyLXNwYWNpbmc6ICAuMWVtOyB9XG4udHJhY2tlZC10aWdodCB7IGxldHRlci1zcGFjaW5nOiAtLjA1ZW07IH1cbi50cmFja2VkLW1lZ2EgIHsgbGV0dGVyLXNwYWNpbmc6ICAuMjVlbTsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLnRyYWNrZWQtbnMgICAgICAgeyBsZXR0ZXItc3BhY2luZzogIC4xZW07IH1cbiAgLnRyYWNrZWQtdGlnaHQtbnMgeyBsZXR0ZXItc3BhY2luZzogLS4wNWVtOyB9XG4gIC50cmFja2VkLW1lZ2EtbnMgIHsgbGV0dGVyLXNwYWNpbmc6ICAuMjVlbTsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLnRyYWNrZWQtbSAgICAgICB7IGxldHRlci1zcGFjaW5nOiAgLjFlbTsgfVxuICAudHJhY2tlZC10aWdodC1tIHsgbGV0dGVyLXNwYWNpbmc6IC0uMDVlbTsgfVxuICAudHJhY2tlZC1tZWdhLW0gIHsgbGV0dGVyLXNwYWNpbmc6ICAuMjVlbTsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAudHJhY2tlZC1sICAgICAgIHsgbGV0dGVyLXNwYWNpbmc6ICAuMWVtOyB9XG4gIC50cmFja2VkLXRpZ2h0LWwgeyBsZXR0ZXItc3BhY2luZzogLS4wNWVtOyB9XG4gIC50cmFja2VkLW1lZ2EtbCAgeyBsZXR0ZXItc3BhY2luZzogIC4yNWVtOyB9XG59XG4iLCIvKlxuXG4gICBMSU5FIEhFSUdIVCAvIExFQURJTkdcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3R5cG9ncmFwaHkvbGluZS1oZWlnaHRcblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4gIC5saC1zb2xpZCB7IGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5saC10aXRsZSB7IGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gIC5saC1jb3B5ICB7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC5saC1zb2xpZC1ucyB7IGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5saC10aXRsZS1ucyB7IGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gIC5saC1jb3B5LW5zICB7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5saC1zb2xpZC1tIHsgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmxoLXRpdGxlLW0geyBsaW5lLWhlaWdodDogMS4yNTsgfVxuICAubGgtY29weS1tICB7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLmxoLXNvbGlkLWwgeyBsaW5lLWhlaWdodDogMTsgfVxuICAubGgtdGl0bGUtbCB7IGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gIC5saC1jb3B5LWwgIHsgbGluZS1oZWlnaHQ6IDEuNTsgfVxufVxuXG4iLCIvKlxuXG4gICBMSU5LU1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvZWxlbWVudHMvbGlua3MvXG5cbiovXG5cbi5saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW47XG59XG5cbi5saW5rOmxpbmssXG4ubGluazp2aXNpdGVkIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluO1xufVxuLmxpbms6aG92ZXIgICB7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZS1pbjtcbn1cbi5saW5rOmFjdGl2ZSAge1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW47XG59XG4ubGluazpmb2N1cyAgIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluO1xuICBvdXRsaW5lOiAxcHggZG90dGVkIGN1cnJlbnRDb2xvcjtcbn1cblxuIiwiLypcblxuICAgTElTVFNcbiAgIGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2VsZW1lbnRzL2xpc3RzL1xuXG4qL1xuXG4ubGlzdCB7ICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4iLCIvKlxuXG4gICBNQVggV0lEVEhTXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9sYXlvdXQvbWF4LXdpZHRocy9cblxuICAgQmFzZTpcbiAgICAgbXcgPSBtYXgtd2lkdGhcblxuICAgTW9kaWZpZXJzXG4gICAgIDEgPSAxc3Qgc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgMyA9IDNyZCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDQgPSA0dGggc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgNiA9IDZzdCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDcgPSA3bmQgc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICA4ID0gOHJkIHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgOSA9IDl0aCBzdGVwIGluIHdpZHRoIHNjYWxlXG5cbiAgICAgLTEwMCA9IGxpdGVyYWwgdmFsdWUgMTAwJVxuXG4gICAgIC1ub25lICA9IHN0cmluZyB2YWx1ZSBub25lXG5cblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4vKiBNYXggV2lkdGggUGVyY2VudGFnZXMgKi9cblxuLm13LTEwMCAgeyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogTWF4IFdpZHRoIFNjYWxlICovXG5cbi5tdzEgIHsgIG1heC13aWR0aDogMXJlbTsgfVxuLm13MiAgeyAgbWF4LXdpZHRoOiAycmVtOyB9XG4ubXczICB7ICBtYXgtd2lkdGg6IDRyZW07IH1cbi5tdzQgIHsgIG1heC13aWR0aDogOHJlbTsgfVxuLm13NSAgeyAgbWF4LXdpZHRoOiAxNnJlbTsgfVxuLm13NiAgeyAgbWF4LXdpZHRoOiAzMnJlbTsgfVxuLm13NyAgeyAgbWF4LXdpZHRoOiA0OHJlbTsgfVxuLm13OCAgeyAgbWF4LXdpZHRoOiA2NHJlbTsgfVxuLm13OSAgeyAgbWF4LXdpZHRoOiA5NnJlbTsgfVxuXG4vKiBNYXggV2lkdGggU3RyaW5nIFByb3BlcnRpZXMgKi9cblxuLm13LW5vbmUgeyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC5tdy0xMDAtbnMgIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbiAgLm13MS1ucyAgeyAgbWF4LXdpZHRoOiAxcmVtOyB9XG4gIC5tdzItbnMgIHsgIG1heC13aWR0aDogMnJlbTsgfVxuICAubXczLW5zICB7ICBtYXgtd2lkdGg6IDRyZW07IH1cbiAgLm13NC1ucyAgeyAgbWF4LXdpZHRoOiA4cmVtOyB9XG4gIC5tdzUtbnMgIHsgIG1heC13aWR0aDogMTZyZW07IH1cbiAgLm13Ni1ucyAgeyAgbWF4LXdpZHRoOiAzMnJlbTsgfVxuICAubXc3LW5zICB7ICBtYXgtd2lkdGg6IDQ4cmVtOyB9XG4gIC5tdzgtbnMgIHsgIG1heC13aWR0aDogNjRyZW07IH1cbiAgLm13OS1ucyAgeyAgbWF4LXdpZHRoOiA5NnJlbTsgfVxuXG4gIC5tdy1ub25lLW5zIHsgbWF4LXdpZHRoOiBub25lOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAubXctMTAwLW0gIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbiAgLm13MS1tICB7ICBtYXgtd2lkdGg6IDFyZW07IH1cbiAgLm13Mi1tICB7ICBtYXgtd2lkdGg6IDJyZW07IH1cbiAgLm13My1tICB7ICBtYXgtd2lkdGg6IDRyZW07IH1cbiAgLm13NC1tICB7ICBtYXgtd2lkdGg6IDhyZW07IH1cbiAgLm13NS1tICB7ICBtYXgtd2lkdGg6IDE2cmVtOyB9XG4gIC5tdzYtbSAgeyAgbWF4LXdpZHRoOiAzMnJlbTsgfVxuICAubXc3LW0gIHsgIG1heC13aWR0aDogNDhyZW07IH1cbiAgLm13OC1tICB7ICBtYXgtd2lkdGg6IDY0cmVtOyB9XG4gIC5tdzktbSAgeyAgbWF4LXdpZHRoOiA5NnJlbTsgfVxuXG4gIC5tdy1ub25lLW0geyBtYXgtd2lkdGg6IG5vbmU7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLm13LTEwMC1sICB7IG1heC13aWR0aDogMTAwJTsgfVxuXG4gIC5tdzEtbCAgeyAgbWF4LXdpZHRoOiAxcmVtOyB9XG4gIC5tdzItbCAgeyAgbWF4LXdpZHRoOiAycmVtOyB9XG4gIC5tdzMtbCAgeyAgbWF4LXdpZHRoOiA0cmVtOyB9XG4gIC5tdzQtbCAgeyAgbWF4LXdpZHRoOiA4cmVtOyB9XG4gIC5tdzUtbCAgeyAgbWF4LXdpZHRoOiAxNnJlbTsgfVxuICAubXc2LWwgIHsgIG1heC13aWR0aDogMzJyZW07IH1cbiAgLm13Ny1sICB7ICBtYXgtd2lkdGg6IDQ4cmVtOyB9XG4gIC5tdzgtbCAgeyAgbWF4LXdpZHRoOiA2NHJlbTsgfVxuICAubXc5LWwgIHsgIG1heC13aWR0aDogOTZyZW07IH1cblxuICAubXctbm9uZS1sIHsgbWF4LXdpZHRoOiBub25lOyB9XG59XG4iLCIvKlxuXG4gICBXSURUSFNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2xheW91dC93aWR0aHMvXG5cbiAgIEJhc2U6XG4gICAgIHcgPSB3aWR0aFxuXG4gICBNb2RpZmllcnNcbiAgICAgMSA9IDFzdCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDIgPSAybmQgc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICAzID0gM3JkIHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgNCA9IDR0aCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDUgPSA1dGggc3RlcCBpbiB3aWR0aCBzY2FsZVxuXG4gICAgIC0xMCAgPSBsaXRlcmFsIHZhbHVlIDEwJVxuICAgICAtMjAgID0gbGl0ZXJhbCB2YWx1ZSAyMCVcbiAgICAgLTI1ICA9IGxpdGVyYWwgdmFsdWUgMjUlXG4gICAgIC0zMyAgPSBsaXRlcmFsIHZhbHVlIDMzJVxuICAgICAtMzQgID0gbGl0ZXJhbCB2YWx1ZSAzNCVcbiAgICAgLTQwICA9IGxpdGVyYWwgdmFsdWUgNDAlXG4gICAgIC01MCAgPSBsaXRlcmFsIHZhbHVlIDUwJVxuICAgICAtNjAgID0gbGl0ZXJhbCB2YWx1ZSA2MCVcbiAgICAgLTc1ICA9IGxpdGVyYWwgdmFsdWUgNzUlXG4gICAgIC04MCAgPSBsaXRlcmFsIHZhbHVlIDgwJVxuICAgICAtMTAwID0gbGl0ZXJhbCB2YWx1ZSAxMDAlXG5cbiAgICAgLXRoaXJkID0gMTAwJSAvIDMgKE5vdCBzdXBwb3J0ZWQgaW4gb3BlcmEgbWluaSBvciBJRTgpXG4gICAgIC1hdXRvICA9IHN0cmluZyB2YWx1ZSBhdXRvXG5cblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4vKiBXaWR0aCBTY2FsZSAqL1xuXG4udzEgeyAgICB3aWR0aDogMXJlbTsgfVxuLncyIHsgICAgd2lkdGg6IDJyZW07IH1cbi53MyB7ICAgIHdpZHRoOiA0cmVtOyB9XG4udzQgeyAgICB3aWR0aDogOHJlbTsgfVxuLnc1IHsgICAgd2lkdGg6IDE2cmVtOyB9XG5cbi53LTEwIHsgIHdpZHRoOiAgMTAlOyB9XG4udy0yMCB7ICB3aWR0aDogIDIwJTsgfVxuLnctMjUgeyAgd2lkdGg6ICAyNSU7IH1cbi53LTMwIHsgIHdpZHRoOiAgMzAlOyB9XG4udy0zMyB7ICB3aWR0aDogIDMzJTsgfVxuLnctMzQgeyAgd2lkdGg6ICAzNCU7IH1cbi53LTQwIHsgIHdpZHRoOiAgNDAlOyB9XG4udy01MCB7ICB3aWR0aDogIDUwJTsgfVxuLnctNjAgeyAgd2lkdGg6ICA2MCU7IH1cbi53LTcwIHsgIHdpZHRoOiAgNzAlOyB9XG4udy03NSB7ICB3aWR0aDogIDc1JTsgfVxuLnctODAgeyAgd2lkdGg6ICA4MCU7IH1cbi53LTkwIHsgIHdpZHRoOiAgOTAlOyB9XG4udy0xMDAgeyB3aWR0aDogMTAwJTsgfVxuXG4udy10aGlyZCB7IHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuLnctdHdvLXRoaXJkcyB7IHdpZHRoOiBjYWxjKDEwMCUgLyAxLjUpOyB9XG4udy1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC53MS1ucyB7ICB3aWR0aDogMXJlbTsgfVxuICAudzItbnMgeyAgd2lkdGg6IDJyZW07IH1cbiAgLnczLW5zIHsgIHdpZHRoOiA0cmVtOyB9XG4gIC53NC1ucyB7ICB3aWR0aDogOHJlbTsgfVxuICAudzUtbnMgeyAgd2lkdGg6IDE2cmVtOyB9XG4gIC53LTEwLW5zIHsgd2lkdGg6ICAxMCU7IH1cbiAgLnctMjAtbnMgeyB3aWR0aDogIDIwJTsgfVxuICAudy0yNS1ucyB7IHdpZHRoOiAgMjUlOyB9XG4gIC53LTMwLW5zIHsgd2lkdGg6ICAzMCU7IH1cbiAgLnctMzMtbnMgeyB3aWR0aDogIDMzJTsgfVxuICAudy0zNC1ucyB7IHdpZHRoOiAgMzQlOyB9XG4gIC53LTQwLW5zIHsgd2lkdGg6ICA0MCU7IH1cbiAgLnctNTAtbnMgeyB3aWR0aDogIDUwJTsgfVxuICAudy02MC1ucyB7IHdpZHRoOiAgNjAlOyB9XG4gIC53LTcwLW5zIHsgd2lkdGg6ICA3MCU7IH1cbiAgLnctNzUtbnMgeyB3aWR0aDogIDc1JTsgfVxuICAudy04MC1ucyB7IHdpZHRoOiAgODAlOyB9XG4gIC53LTkwLW5zIHsgd2lkdGg6ICA5MCU7IH1cbiAgLnctMTAwLW5zIHsgd2lkdGg6IDEwMCU7IH1cbiAgLnctdGhpcmQtbnMgeyB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgLnctdHdvLXRoaXJkcy1ucyB7IHdpZHRoOiBjYWxjKDEwMCUgLyAxLjUpOyB9XG4gIC53LWF1dG8tbnMgeyB3aWR0aDogYXV0bzsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLncxLW0geyAgICAgIHdpZHRoOiAxcmVtOyB9XG4gIC53Mi1tIHsgICAgICB3aWR0aDogMnJlbTsgfVxuICAudzMtbSB7ICAgICAgd2lkdGg6IDRyZW07IH1cbiAgLnc0LW0geyAgICAgIHdpZHRoOiA4cmVtOyB9XG4gIC53NS1tIHsgICAgICB3aWR0aDogMTZyZW07IH1cbiAgLnctMTAtbSB7IHdpZHRoOiAgMTAlOyB9XG4gIC53LTIwLW0geyB3aWR0aDogIDIwJTsgfVxuICAudy0yNS1tIHsgd2lkdGg6ICAyNSU7IH1cbiAgLnctMzAtbSB7IHdpZHRoOiAgMzAlOyB9XG4gIC53LTMzLW0geyB3aWR0aDogIDMzJTsgfVxuICAudy0zNC1tIHsgd2lkdGg6ICAzNCU7IH1cbiAgLnctNDAtbSB7IHdpZHRoOiAgNDAlOyB9XG4gIC53LTUwLW0geyB3aWR0aDogIDUwJTsgfVxuICAudy02MC1tIHsgd2lkdGg6ICA2MCU7IH1cbiAgLnctNzAtbSB7IHdpZHRoOiAgNzAlOyB9XG4gIC53LTc1LW0geyB3aWR0aDogIDc1JTsgfVxuICAudy04MC1tIHsgd2lkdGg6ICA4MCU7IH1cbiAgLnctOTAtbSB7IHdpZHRoOiAgOTAlOyB9XG4gIC53LTEwMC1tIHsgd2lkdGg6IDEwMCU7IH1cbiAgLnctdGhpcmQtbSB7IHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAudy10d28tdGhpcmRzLW0geyB3aWR0aDogY2FsYygxMDAlIC8gMS41KTsgfVxuICAudy1hdXRvLW0geyAgICB3aWR0aDogYXV0bzsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAudzEtbCB7ICAgICAgd2lkdGg6IDFyZW07IH1cbiAgLncyLWwgeyAgICAgIHdpZHRoOiAycmVtOyB9XG4gIC53My1sIHsgICAgICB3aWR0aDogNHJlbTsgfVxuICAudzQtbCB7ICAgICAgd2lkdGg6IDhyZW07IH1cbiAgLnc1LWwgeyAgICAgIHdpZHRoOiAxNnJlbTsgfVxuICAudy0xMC1sIHsgICAgd2lkdGg6ICAxMCU7IH1cbiAgLnctMjAtbCB7ICAgIHdpZHRoOiAgMjAlOyB9XG4gIC53LTI1LWwgeyAgICB3aWR0aDogIDI1JTsgfVxuICAudy0zMC1sIHsgICAgd2lkdGg6ICAzMCU7IH1cbiAgLnctMzMtbCB7ICAgIHdpZHRoOiAgMzMlOyB9XG4gIC53LTM0LWwgeyAgICB3aWR0aDogIDM0JTsgfVxuICAudy00MC1sIHsgICAgd2lkdGg6ICA0MCU7IH1cbiAgLnctNTAtbCB7ICAgIHdpZHRoOiAgNTAlOyB9XG4gIC53LTYwLWwgeyAgICB3aWR0aDogIDYwJTsgfVxuICAudy03MC1sIHsgICAgd2lkdGg6ICA3MCU7IH1cbiAgLnctNzUtbCB7ICAgIHdpZHRoOiAgNzUlOyB9XG4gIC53LTgwLWwgeyAgICB3aWR0aDogIDgwJTsgfVxuICAudy05MC1sIHsgICAgd2lkdGg6ICA5MCU7IH1cbiAgLnctMTAwLWwgeyAgIHdpZHRoOiAxMDAlOyB9XG4gIC53LXRoaXJkLWwgeyB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgLnctdHdvLXRoaXJkcy1sIHsgd2lkdGg6IGNhbGMoMTAwJSAvIDEuNSk7IH1cbiAgLnctYXV0by1sIHsgICAgd2lkdGg6IGF1dG87IH1cbn1cbiIsIi8qXG5cbiAgICBPVkVSRkxPV1xuXG4gICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgIC1ucyA9IG5vdC1zbWFsbFxuICAgICAgLW0gID0gbWVkaXVtXG4gICAgICAtbCAgPSBsYXJnZVxuXG4gKi9cblxuLm92ZXJmbG93LXZpc2libGUgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuLm92ZXJmbG93LWhpZGRlbiB7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5vdmVyZmxvdy1zY3JvbGwgeyBvdmVyZmxvdzogc2Nyb2xsOyB9XG4ub3ZlcmZsb3ctYXV0byB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi5vdmVyZmxvdy14LXZpc2libGUgeyBvdmVyZmxvdy14OiB2aXNpYmxlOyB9XG4ub3ZlcmZsb3cteC1oaWRkZW4geyBvdmVyZmxvdy14OiBoaWRkZW47IH1cbi5vdmVyZmxvdy14LXNjcm9sbCB7IG92ZXJmbG93LXg6IHNjcm9sbDsgfVxuLm92ZXJmbG93LXgtYXV0byB7IG92ZXJmbG93LXg6IGF1dG87IH1cblxuLm92ZXJmbG93LXktdmlzaWJsZSB7IG92ZXJmbG93LXk6IHZpc2libGU7IH1cbi5vdmVyZmxvdy15LWhpZGRlbiB7IG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuLm92ZXJmbG93LXktc2Nyb2xsIHsgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4ub3ZlcmZsb3cteS1hdXRvIHsgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLm92ZXJmbG93LXZpc2libGUtbnMgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAub3ZlcmZsb3ctaGlkZGVuLW5zIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub3ZlcmZsb3ctc2Nyb2xsLW5zIHsgb3ZlcmZsb3c6IHNjcm9sbDsgfVxuICAub3ZlcmZsb3ctYXV0by1ucyB7IG92ZXJmbG93OiBhdXRvOyB9XG4gIC5vdmVyZmxvdy14LXZpc2libGUtbnMgeyBvdmVyZmxvdy14OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy14LWhpZGRlbi1ucyB7IG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICAub3ZlcmZsb3cteC1zY3JvbGwtbnMgeyBvdmVyZmxvdy14OiBzY3JvbGw7IH1cbiAgLm92ZXJmbG93LXgtYXV0by1ucyB7IG92ZXJmbG93LXg6IGF1dG87IH1cblxuICAub3ZlcmZsb3cteS12aXNpYmxlLW5zIHsgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuICAub3ZlcmZsb3cteS1oaWRkZW4tbnMgeyBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgLm92ZXJmbG93LXktc2Nyb2xsLW5zIHsgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy15LWF1dG8tbnMgeyBvdmVyZmxvdy15OiBhdXRvOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAub3ZlcmZsb3ctdmlzaWJsZS1tIHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLm92ZXJmbG93LWhpZGRlbi1tIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub3ZlcmZsb3ctc2Nyb2xsLW0geyBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy1hdXRvLW0geyBvdmVyZmxvdzogYXV0bzsgfVxuXG4gIC5vdmVyZmxvdy14LXZpc2libGUtbSB7IG92ZXJmbG93LXg6IHZpc2libGU7IH1cbiAgLm92ZXJmbG93LXgtaGlkZGVuLW0geyBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLm92ZXJmbG93LXgtc2Nyb2xsLW0geyBvdmVyZmxvdy14OiBzY3JvbGw7IH1cbiAgLm92ZXJmbG93LXgtYXV0by1tIHsgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4gIC5vdmVyZmxvdy15LXZpc2libGUtbSB7IG92ZXJmbG93LXk6IHZpc2libGU7IH1cbiAgLm92ZXJmbG93LXktaGlkZGVuLW0geyBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgLm92ZXJmbG93LXktc2Nyb2xsLW0geyBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLm92ZXJmbG93LXktYXV0by1tIHsgb3ZlcmZsb3cteTogYXV0bzsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAub3ZlcmZsb3ctdmlzaWJsZS1sIHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLm92ZXJmbG93LWhpZGRlbi1sIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub3ZlcmZsb3ctc2Nyb2xsLWwgeyBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy1hdXRvLWwgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4gIC5vdmVyZmxvdy14LXZpc2libGUtbCB7IG92ZXJmbG93LXg6IHZpc2libGU7IH1cbiAgLm92ZXJmbG93LXgtaGlkZGVuLWwgeyBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLm92ZXJmbG93LXgtc2Nyb2xsLWwgeyBvdmVyZmxvdy14OiBzY3JvbGw7IH1cbiAgLm92ZXJmbG93LXgtYXV0by1sIHsgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4gIC5vdmVyZmxvdy15LXZpc2libGUtbCB7IG92ZXJmbG93LXk6IHZpc2libGU7IH1cbiAgLm92ZXJmbG93LXktaGlkZGVuLWwgeyBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgLm92ZXJmbG93LXktc2Nyb2xsLWwgeyBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLm92ZXJmbG93LXktYXV0by1sIHsgb3ZlcmZsb3cteTogYXV0bzsgfVxufVxuIiwiLypcblxuICAgUE9TSVRJT05JTkdcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2xheW91dC9wb3NpdGlvbi9cblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLW5zID0gbm90LXNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4uc3RhdGljIHsgcG9zaXRpb246IHN0YXRpYzsgfVxuLnJlbGF0aXZlICB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLmFic29sdXRlICB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuLmZpeGVkICB7IHBvc2l0aW9uOiBmaXhlZDsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLnN0YXRpYy1ucyB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLnJlbGF0aXZlLW5zICB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWJzb2x1dGUtbnMgIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5maXhlZC1ucyAgeyBwb3NpdGlvbjogZml4ZWQ7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC5zdGF0aWMtbSB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLnJlbGF0aXZlLW0gIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hYnNvbHV0ZS1tICB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuZml4ZWQtbSAgeyBwb3NpdGlvbjogZml4ZWQ7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLnN0YXRpYy1sIHsgcG9zaXRpb246IHN0YXRpYzsgfVxuICAucmVsYXRpdmUtbCAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFic29sdXRlLWwgIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5maXhlZC1sICB7IHBvc2l0aW9uOiBmaXhlZDsgfVxufVxuIiwiLypcblxuICAgIE9QQUNJVFlcbiAgICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90aGVtZXMvb3BhY2l0eS9cblxuKi9cblxuLm8tMTAwIHsgb3BhY2l0eTogMTsgICAgfVxuLm8tOTAgIHsgb3BhY2l0eTogLjk7ICAgfVxuLm8tODAgIHsgb3BhY2l0eTogLjg7ICAgfVxuLm8tNzAgIHsgb3BhY2l0eTogLjc7ICAgfVxuLm8tNjAgIHsgb3BhY2l0eTogLjY7ICAgfVxuLm8tNTAgIHsgb3BhY2l0eTogLjU7ICAgfVxuLm8tNDAgIHsgb3BhY2l0eTogLjQ7ICAgfVxuLm8tMzAgIHsgb3BhY2l0eTogLjM7ICAgfVxuLm8tMjAgIHsgb3BhY2l0eTogLjI7ICAgfVxuLm8tMTAgIHsgb3BhY2l0eTogLjE7ICAgfVxuLm8tMDUgIHsgb3BhY2l0eTogLjA1OyAgfVxuLm8tMDI1IHsgb3BhY2l0eTogLjAyNTsgfVxuLm8tMCAgIHsgb3BhY2l0eTogMDsgfVxuIiwiLypcblxuICAgU0tJTlNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy9za2lucy9cblxuICAgQ2xhc3NlcyBmb3Igc2V0dGluZyBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycyBvbiBlbGVtZW50cy5cbiAgIElmIHlvdSBoYXZlbid0IGRlY2xhcmVkIGEgYm9yZGVyIGNvbG9yLCBidXQgc2V0IGJvcmRlciBvbiBhbiBlbGVtZW50LCBpdCB3aWxsIFxuICAgYmUgc2V0IHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3IuIFxuXG4qL1xuXG4vKiBUZXh0IGNvbG9ycyAqL1xuXG4uYmxhY2stOTAgeyAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay05MCk7IH1cbi5ibGFjay04MCB7ICAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrLTgwKTsgfVxuLmJsYWNrLTcwIHsgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2stNzApOyB9XG4uYmxhY2stNjAgeyAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay02MCk7IH1cbi5ibGFjay01MCB7ICAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrLTUwKTsgfVxuLmJsYWNrLTQwIHsgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2stNDApOyB9XG4uYmxhY2stMzAgeyAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay0zMCk7IH1cbi5ibGFjay0yMCB7ICAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrLTIwKTsgfVxuLmJsYWNrLTEwIHsgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2stMTApOyB9XG4uYmxhY2stMDUgeyAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay0wNSk7IH1cblxuLndoaXRlLTkwIHsgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtOTApOyB9XG4ud2hpdGUtODAgeyAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS04MCk7IH1cbi53aGl0ZS03MCB7ICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLTcwKTsgfVxuLndoaXRlLTYwIHsgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtNjApOyB9XG4ud2hpdGUtNTAgeyAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS01MCk7IH1cbi53aGl0ZS00MCB7ICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLTQwKTsgfVxuLndoaXRlLTMwIHsgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtMzApOyB9XG4ud2hpdGUtMjAgeyAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS0yMCk7IH1cbi53aGl0ZS0xMCB7ICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLTEwKTsgfVxuXG4uYmxhY2sgeyAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7IH1cbi5uZWFyLWJsYWNrIHsgICAgY29sb3I6IHZhcigtLW5lYXItYmxhY2spOyB9XG4uZGFyay1ncmF5IHsgICAgIGNvbG9yOiB2YXIoLS1kYXJrLWdyYXkpOyB9XG4ubWlkLWdyYXkgeyAgICAgIGNvbG9yOiB2YXIoLS1taWQtZ3JheSk7IH1cbi5ncmF5IHsgICAgICAgICAgY29sb3I6IHZhcigtLWdyYXkpOyB9XG4uc2lsdmVyICB7ICAgICAgIGNvbG9yOiB2YXIoLS1zaWx2ZXIpOyB9XG4ubGlnaHQtc2lsdmVyIHsgIGNvbG9yOiB2YXIoLS1saWdodC1zaWx2ZXIpOyB9XG4ubW9vbi1ncmF5IHsgICAgIGNvbG9yOiB2YXIoLS1tb29uLWdyYXkpOyB9XG4ubGlnaHQtZ3JheSB7ICAgIGNvbG9yOiB2YXIoLS1saWdodC1ncmF5KTsgfVxuLm5lYXItd2hpdGUgeyAgICBjb2xvcjogdmFyKC0tbmVhci13aGl0ZSk7IH1cbi53aGl0ZSB7ICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsgfVxuXG4uZGFyay1yZWQgeyBjb2xvcjogdmFyKC0tZGFyay1yZWQpOyB9XG4ucmVkIHsgY29sb3I6IHZhcigtLXJlZCk7IH1cbi5saWdodC1yZWQgeyBjb2xvcjogdmFyKC0tbGlnaHQtcmVkKTsgfVxuLm9yYW5nZSB7IGNvbG9yOiB2YXIoLS1vcmFuZ2UpOyB9XG4uZ29sZCB7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfVxuLnllbGxvdyB7IGNvbG9yOiB2YXIoLS15ZWxsb3cpOyB9XG4ubGlnaHQteWVsbG93IHsgY29sb3I6IHZhcigtLWxpZ2h0LXllbGxvdyk7IH1cbi5wdXJwbGUgeyBjb2xvcjogdmFyKC0tcHVycGxlKTsgfVxuLmxpZ2h0LXB1cnBsZSB7IGNvbG9yOiB2YXIoLS1saWdodC1wdXJwbGUpOyB9XG4uZGFyay1waW5rIHsgY29sb3I6IHZhcigtLWRhcmstcGluayk7IH1cbi5ob3QtcGluayB7IGNvbG9yOiB2YXIoLS1ob3QtcGluayk7IH1cbi5waW5rIHsgY29sb3I6IHZhcigtLXBpbmspOyB9XG4ubGlnaHQtcGluayB7IGNvbG9yOiB2YXIoLS1saWdodC1waW5rKTsgfVxuLmRhcmstZ3JlZW4geyBjb2xvcjogdmFyKC0tZGFyay1ncmVlbik7IH1cbi5ncmVlbiB7IGNvbG9yOiB2YXIoLS1ncmVlbik7IH1cbi5saWdodC1ncmVlbiB7IGNvbG9yOiB2YXIoLS1saWdodC1ncmVlbik7IH1cbi5uYXZ5IHsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG4uZGFyay1ibHVlIHsgY29sb3I6IHZhcigtLWRhcmstYmx1ZSk7IH1cbi5ibHVlIHsgY29sb3I6IHZhcigtLWJsdWUpOyB9XG4ubGlnaHQtYmx1ZSB7IGNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTsgfVxuLmxpZ2h0ZXN0LWJsdWUgeyBjb2xvcjogdmFyKC0tbGlnaHRlc3QtYmx1ZSk7IH1cbi53YXNoZWQtYmx1ZSB7IGNvbG9yOiB2YXIoLS13YXNoZWQtYmx1ZSk7IH1cbi53YXNoZWQtZ3JlZW4geyBjb2xvcjogdmFyKC0td2FzaGVkLWdyZWVuKTsgfVxuLndhc2hlZC15ZWxsb3cgeyBjb2xvcjogdmFyKC0td2FzaGVkLXllbGxvdyk7IH1cbi53YXNoZWQtcmVkIHsgY29sb3I6IHZhcigtLXdhc2hlZC1yZWQpOyB9XG5cbi5iZy1ibGFjay05MCB7ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2stOTApOyB9XG4uYmctYmxhY2stODAgeyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrLTgwKTsgfVxuLmJnLWJsYWNrLTcwIHsgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjay03MCk7IH1cbi5iZy1ibGFjay02MCB7ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2stNjApOyB9XG4uYmctYmxhY2stNTAgeyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrLTUwKTsgfVxuLmJnLWJsYWNrLTQwIHsgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjay00MCk7IH1cbi5iZy1ibGFjay0zMCB7ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2stMzApOyB9XG4uYmctYmxhY2stMjAgeyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrLTIwKTsgfVxuLmJnLWJsYWNrLTEwIHsgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjay0xMCk7IH1cbi5iZy1ibGFjay0wNSB7ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2stMDUpOyB9XG4uYmctd2hpdGUtOTAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtOTApOyB9XG4uYmctd2hpdGUtODAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtODApOyB9XG4uYmctd2hpdGUtNzAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtNzApOyB9XG4uYmctd2hpdGUtNjAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtNjApOyB9XG4uYmctd2hpdGUtNTAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtNTApOyB9XG4uYmctd2hpdGUtNDAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtNDApOyB9XG4uYmctd2hpdGUtMzAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtMzApOyB9XG4uYmctd2hpdGUtMjAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtMjApOyB9XG4uYmctd2hpdGUtMTAgeyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtMTApOyB9XG5cblxuXG4vKiBCYWNrZ3JvdW5kIGNvbG9ycyAqL1xuXG4uYmctYmxhY2sgeyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTsgfVxuLmJnLW5lYXItYmxhY2sgeyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZWFyLWJsYWNrKTsgfVxuLmJnLWRhcmstZ3JheSB7ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWdyYXkpOyB9XG4uYmctbWlkLWdyYXkgeyAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1pZC1ncmF5KTsgfVxuLmJnLWdyYXkgeyAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5KTsgfVxuLmJnLXNpbHZlciAgeyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaWx2ZXIpOyB9XG4uYmctbGlnaHQtc2lsdmVyIHsgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LXNpbHZlcik7IH1cbi5iZy1tb29uLWdyYXkgeyAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbW9vbi1ncmF5KTsgfVxuLmJnLWxpZ2h0LWdyYXkgeyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmF5KTsgfVxuLmJnLW5lYXItd2hpdGUgeyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZWFyLXdoaXRlKTsgfVxuLmJnLXdoaXRlIHsgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7IH1cbi5iZy10cmFuc3BhcmVudCB7ICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdHJhbnNwYXJlbnQpOyB9XG5cbi5iZy1kYXJrLXJlZCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstcmVkKTsgfVxuLmJnLXJlZCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZCk7IH1cbi5iZy1saWdodC1yZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1yZWQpOyB9XG4uYmctb3JhbmdlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JhbmdlKTsgfVxuLmJnLWdvbGQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkKTsgfVxuLmJnLXllbGxvdyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdyk7IH1cbi5iZy1saWdodC15ZWxsb3cgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC15ZWxsb3cpOyB9XG4uYmctcHVycGxlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHVycGxlKTsgfVxuLmJnLWxpZ2h0LXB1cnBsZSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LXB1cnBsZSk7IH1cbi5iZy1kYXJrLXBpbmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLXBpbmspOyB9XG4uYmctaG90LXBpbmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3QtcGluayk7IH1cbi5iZy1waW5rIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7IH1cbi5iZy1saWdodC1waW5rIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtcGluayk7IH1cbi5iZy1kYXJrLWdyZWVuIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1ncmVlbik7IH1cbi5iZy1ncmVlbiB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuKTsgfVxuLmJnLWxpZ2h0LWdyZWVuIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JlZW4pOyB9XG4uYmctbmF2eSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5hdnkpOyB9XG4uYmctZGFyay1ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1ibHVlKTsgfVxuLmJnLWJsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlKTsgfVxuLmJnLWxpZ2h0LWJsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTsgfVxuLmJnLWxpZ2h0ZXN0LWJsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodGVzdC1ibHVlKTsgfVxuLmJnLXdhc2hlZC1ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2FzaGVkLWJsdWUpOyB9XG4uYmctd2FzaGVkLWdyZWVuIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2FzaGVkLWdyZWVuKTsgfVxuLmJnLXdhc2hlZC15ZWxsb3cgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13YXNoZWQteWVsbG93KTsgfVxuLmJnLXdhc2hlZC1yZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13YXNoZWQtcmVkKTsgfVxuIiwiLyogXG4gIFxuICAgU0tJTlM6UFNFVURPXG5cbiAgIEN1c3RvbWl6ZSB0aGUgY29sb3Igb2YgYW4gZWxlbWVudCB3aGVuXG4gICBpdCBpcyBmb2N1c2VkIG9yIGhvdmVyZWQgb3Zlci5cbiBcbiAqL1xuXG4uaG92ZXItYmxhY2s6aG92ZXIsIFxuLmhvdmVyLWJsYWNrOmZvY3VzIHsgY29sb3I6IHZhcigtLWJsYWNrKTsgfVxuLmhvdmVyLW5lYXItYmxhY2s6aG92ZXIsIFxuLmhvdmVyLW5lYXItYmxhY2s6Zm9jdXMgeyBjb2xvcjogdmFyKC0tbmVhci1ibGFjayk7IH1cbi5ob3Zlci1kYXJrLWdyYXk6aG92ZXIsIFxuLmhvdmVyLWRhcmstZ3JheTpmb2N1cyB7IGNvbG9yOiB2YXIoLS1kYXJrLWdyYXkpOyB9XG4uaG92ZXItbWlkLWdyYXk6aG92ZXIsIFxuLmhvdmVyLW1pZC1ncmF5OmZvY3VzIHsgY29sb3I6IHZhcigtLW1pZC1ncmF5KTsgfVxuLmhvdmVyLWdyYXk6aG92ZXIsIFxuLmhvdmVyLWdyYXk6Zm9jdXMgeyBjb2xvcjogdmFyKC0tZ3JheSk7IH1cbi5ob3Zlci1zaWx2ZXI6aG92ZXIsIFxuLmhvdmVyLXNpbHZlcjpmb2N1cyB7IGNvbG9yOiB2YXIoLS1zaWx2ZXIpOyB9XG4uaG92ZXItbGlnaHQtc2lsdmVyOmhvdmVyLCBcbi5ob3Zlci1saWdodC1zaWx2ZXI6Zm9jdXMgeyBjb2xvcjogdmFyKC0tbGlnaHQtc2lsdmVyKTsgfVxuLmhvdmVyLW1vb24tZ3JheTpob3ZlciwgXG4uaG92ZXItbW9vbi1ncmF5OmZvY3VzIHsgY29sb3I6IHZhcigtLW1vb24tZ3JheSk7IH1cbi5ob3Zlci1saWdodC1ncmF5OmhvdmVyLCBcbi5ob3Zlci1saWdodC1ncmF5OmZvY3VzIHsgY29sb3I6IHZhcigtLWxpZ2h0LWdyYXkpOyB9XG4uaG92ZXItbmVhci13aGl0ZTpob3ZlciwgXG4uaG92ZXItbmVhci13aGl0ZTpmb2N1cyB7IGNvbG9yOiB2YXIoLS1uZWFyLXdoaXRlKTsgfVxuLmhvdmVyLXdoaXRlOmhvdmVyLCBcbi5ob3Zlci13aGl0ZTpmb2N1cyB7IGNvbG9yOiB2YXIoLS13aGl0ZSk7IH1cblxuLmhvdmVyLWJnLWJsYWNrOmhvdmVyLCBcbi5ob3Zlci1iZy1ibGFjazpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTsgfVxuLmhvdmVyLWJnLW5lYXItYmxhY2s6aG92ZXIsIFxuLmhvdmVyLWJnLW5lYXItYmxhY2s6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZWFyLWJsYWNrKTsgfVxuLmhvdmVyLWJnLWRhcmstZ3JheTpob3ZlciwgXG4uaG92ZXItYmctZGFyay1ncmF5OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1ncmF5KTsgfVxuLmhvdmVyLWJnLWRhcmstZ3JheTpmb2N1cywgXG4uaG92ZXItYmctbWlkLWdyYXk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1taWQtZ3JheSk7IH1cbi5ob3Zlci1iZy1ncmF5OmhvdmVyLCBcbi5ob3Zlci1iZy1ncmF5OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheSk7IH1cbi5ob3Zlci1iZy1zaWx2ZXI6aG92ZXIsIFxuLmhvdmVyLWJnLXNpbHZlcjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpbHZlcik7IH1cbi5ob3Zlci1iZy1saWdodC1zaWx2ZXI6aG92ZXIsIFxuLmhvdmVyLWJnLWxpZ2h0LXNpbHZlcjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LXNpbHZlcik7IH1cbi5ob3Zlci1iZy1tb29uLWdyYXk6aG92ZXIsIFxuLmhvdmVyLWJnLW1vb24tZ3JheTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1vb24tZ3JheSk7IH1cbi5ob3Zlci1iZy1saWdodC1ncmF5OmhvdmVyLCBcbi5ob3Zlci1iZy1saWdodC1ncmF5OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JheSk7IH1cbi5ob3Zlci1iZy1uZWFyLXdoaXRlOmhvdmVyLCBcbi5ob3Zlci1iZy1uZWFyLXdoaXRlOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmVhci13aGl0ZSk7IH1cbi5ob3Zlci1iZy13aGl0ZTpob3ZlciwgXG4uaG92ZXItYmctd2hpdGU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7IH1cbi5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlciwgXG4uaG92ZXItYmctdHJhbnNwYXJlbnQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10cmFuc3BhcmVudCk7IH1cblxuLmhvdmVyLWRhcmstcmVkOmhvdmVyLFxuLmhvdmVyLWRhcmstcmVkOmZvY3VzIHsgY29sb3I6IHZhcigtLWRhcmstcmVkKTsgfVxuLmhvdmVyLXJlZDpob3Zlcixcbi5ob3Zlci1yZWQ6Zm9jdXMgeyBjb2xvcjogdmFyKC0tcmVkKTsgfVxuLmhvdmVyLWxpZ2h0LXJlZDpob3Zlcixcbi5ob3Zlci1saWdodC1yZWQ6Zm9jdXMgeyBjb2xvcjogdmFyKC0tbGlnaHQtcmVkKTsgfVxuLmhvdmVyLW9yYW5nZTpob3Zlcixcbi5ob3Zlci1vcmFuZ2U6Zm9jdXMgeyBjb2xvcjogdmFyKC0tb3JhbmdlKTsgfVxuLmhvdmVyLWdvbGQ6aG92ZXIsXG4uaG92ZXItZ29sZDpmb2N1cyB7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfVxuLmhvdmVyLXllbGxvdzpob3Zlcixcbi5ob3Zlci15ZWxsb3c6Zm9jdXMgeyBjb2xvcjogdmFyKC0teWVsbG93KTsgfVxuLmhvdmVyLWxpZ2h0LXllbGxvdzpob3Zlcixcbi5ob3Zlci1saWdodC15ZWxsb3c6Zm9jdXMgeyBjb2xvcjogdmFyKC0tbGlnaHQteWVsbG93KTsgfVxuLmhvdmVyLXB1cnBsZTpob3Zlcixcbi5ob3Zlci1wdXJwbGU6Zm9jdXMgeyBjb2xvcjogdmFyKC0tcHVycGxlKTsgfVxuLmhvdmVyLWxpZ2h0LXB1cnBsZTpob3Zlcixcbi5ob3Zlci1saWdodC1wdXJwbGU6Zm9jdXMgeyBjb2xvcjogdmFyKC0tbGlnaHQtcHVycGxlKTsgfVxuLmhvdmVyLWRhcmstcGluazpob3Zlcixcbi5ob3Zlci1kYXJrLXBpbms6Zm9jdXMgeyBjb2xvcjogdmFyKC0tZGFyay1waW5rKTsgfVxuLmhvdmVyLWhvdC1waW5rOmhvdmVyLFxuLmhvdmVyLWhvdC1waW5rOmZvY3VzIHsgY29sb3I6IHZhcigtLWhvdC1waW5rKTsgfVxuLmhvdmVyLXBpbms6aG92ZXIsXG4uaG92ZXItcGluazpmb2N1cyB7IGNvbG9yOiB2YXIoLS1waW5rKTsgfVxuLmhvdmVyLWxpZ2h0LXBpbms6aG92ZXIsXG4uaG92ZXItbGlnaHQtcGluazpmb2N1cyB7IGNvbG9yOiB2YXIoLS1saWdodC1waW5rKTsgfVxuLmhvdmVyLWRhcmstZ3JlZW46aG92ZXIsXG4uaG92ZXItZGFyay1ncmVlbjpmb2N1cyB7IGNvbG9yOiB2YXIoLS1kYXJrLWdyZWVuKTsgfVxuLmhvdmVyLWdyZWVuOmhvdmVyLFxuLmhvdmVyLWdyZWVuOmZvY3VzIHsgY29sb3I6IHZhcigtLWdyZWVuKTsgfVxuLmhvdmVyLWxpZ2h0LWdyZWVuOmhvdmVyLFxuLmhvdmVyLWxpZ2h0LWdyZWVuOmZvY3VzIHsgY29sb3I6IHZhcigtLWxpZ2h0LWdyZWVuKTsgfVxuLmhvdmVyLW5hdnk6aG92ZXIsXG4uaG92ZXItbmF2eTpmb2N1cyB7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgfVxuLmhvdmVyLWRhcmstYmx1ZTpob3Zlcixcbi5ob3Zlci1kYXJrLWJsdWU6Zm9jdXMgeyBjb2xvcjogdmFyKC0tZGFyay1ibHVlKTsgfVxuLmhvdmVyLWJsdWU6aG92ZXIsXG4uaG92ZXItYmx1ZTpmb2N1cyB7IGNvbG9yOiB2YXIoLS1ibHVlKTsgfVxuLmhvdmVyLWxpZ2h0LWJsdWU6aG92ZXIsXG4uaG92ZXItbGlnaHQtYmx1ZTpmb2N1cyB7IGNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTsgfVxuLmhvdmVyLWxpZ2h0ZXN0LWJsdWU6aG92ZXIsXG4uaG92ZXItbGlnaHRlc3QtYmx1ZTpmb2N1cyB7IGNvbG9yOiB2YXIoLS1saWdodGVzdC1ibHVlKTsgfVxuLmhvdmVyLXdhc2hlZC1ibHVlOmhvdmVyLFxuLmhvdmVyLXdhc2hlZC1ibHVlOmZvY3VzIHsgY29sb3I6IHZhcigtLXdhc2hlZC1ibHVlKTsgfVxuLmhvdmVyLXdhc2hlZC1ncmVlbjpob3Zlcixcbi5ob3Zlci13YXNoZWQtZ3JlZW46Zm9jdXMgeyBjb2xvcjogdmFyKC0td2FzaGVkLWdyZWVuKTsgfVxuLmhvdmVyLXdhc2hlZC15ZWxsb3c6aG92ZXIsXG4uaG92ZXItd2FzaGVkLXllbGxvdzpmb2N1cyB7IGNvbG9yOiB2YXIoLS13YXNoZWQteWVsbG93KTsgfVxuLmhvdmVyLXdhc2hlZC1yZWQ6aG92ZXIsXG4uaG92ZXItd2FzaGVkLXJlZDpmb2N1cyB7IGNvbG9yOiB2YXIoLS13YXNoZWQtcmVkKTsgfVxuXG4uaG92ZXItYmctZGFyay1yZWQ6aG92ZXIsXG4uaG92ZXItYmctZGFyay1yZWQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLXJlZCk7IH1cbi5ob3Zlci1iZy1yZWQ6aG92ZXIsXG4uaG92ZXItYmctcmVkOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkKTsgfVxuLmhvdmVyLWJnLWxpZ2h0LXJlZDpob3Zlcixcbi5ob3Zlci1iZy1saWdodC1yZWQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1yZWQpOyB9XG4uaG92ZXItYmctb3JhbmdlOmhvdmVyLFxuLmhvdmVyLWJnLW9yYW5nZTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW9yYW5nZSk7IH1cbi5ob3Zlci1iZy1nb2xkOmhvdmVyLFxuLmhvdmVyLWJnLWdvbGQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkKTsgfVxuLmhvdmVyLWJnLXllbGxvdzpob3Zlcixcbi5ob3Zlci1iZy15ZWxsb3c6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3cpOyB9XG4uaG92ZXItYmctbGlnaHQteWVsbG93OmhvdmVyLFxuLmhvdmVyLWJnLWxpZ2h0LXllbGxvdzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LXllbGxvdyk7IH1cbi5ob3Zlci1iZy1wdXJwbGU6aG92ZXIsXG4uaG92ZXItYmctcHVycGxlOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHVycGxlKTsgfVxuLmhvdmVyLWJnLWxpZ2h0LXB1cnBsZTpob3Zlcixcbi5ob3Zlci1iZy1saWdodC1wdXJwbGU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1wdXJwbGUpOyB9XG4uaG92ZXItYmctZGFyay1waW5rOmhvdmVyLFxuLmhvdmVyLWJnLWRhcmstcGluazpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstcGluayk7IH1cbi5ob3Zlci1iZy1ob3QtcGluazpob3Zlcixcbi5ob3Zlci1iZy1ob3QtcGluazpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdC1waW5rKTsgfVxuLmhvdmVyLWJnLXBpbms6aG92ZXIsXG4uaG92ZXItYmctcGluazpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspOyB9XG4uaG92ZXItYmctbGlnaHQtcGluazpob3Zlcixcbi5ob3Zlci1iZy1saWdodC1waW5rOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtcGluayk7IH1cbi5ob3Zlci1iZy1kYXJrLWdyZWVuOmhvdmVyLFxuLmhvdmVyLWJnLWRhcmstZ3JlZW46Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWdyZWVuKTsgfVxuLmhvdmVyLWJnLWdyZWVuOmhvdmVyLFxuLmhvdmVyLWJnLWdyZWVuOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW4pOyB9XG4uaG92ZXItYmctbGlnaHQtZ3JlZW46aG92ZXIsXG4uaG92ZXItYmctbGlnaHQtZ3JlZW46Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmVlbik7IH1cbi5ob3Zlci1iZy1uYXZ5OmhvdmVyLFxuLmhvdmVyLWJnLW5hdnk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uYXZ5KTsgfVxuLmhvdmVyLWJnLWRhcmstYmx1ZTpob3Zlcixcbi5ob3Zlci1iZy1kYXJrLWJsdWU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWJsdWUpOyB9XG4uaG92ZXItYmctYmx1ZTpob3Zlcixcbi5ob3Zlci1iZy1ibHVlOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZSk7IH1cbi5ob3Zlci1iZy1saWdodC1ibHVlOmhvdmVyLFxuLmhvdmVyLWJnLWxpZ2h0LWJsdWU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTsgfVxuLmhvdmVyLWJnLWxpZ2h0ZXN0LWJsdWU6aG92ZXIsXG4uaG92ZXItYmctbGlnaHRlc3QtYmx1ZTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0ZXN0LWJsdWUpOyB9XG4uaG92ZXItYmctd2FzaGVkLWJsdWU6aG92ZXIsXG4uaG92ZXItYmctd2FzaGVkLWJsdWU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13YXNoZWQtYmx1ZSk7IH1cbi5ob3Zlci1iZy13YXNoZWQtZ3JlZW46aG92ZXIsXG4uaG92ZXItYmctd2FzaGVkLWdyZWVuOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2FzaGVkLWdyZWVuKTsgfVxuLmhvdmVyLWJnLXdhc2hlZC15ZWxsb3c6aG92ZXIsXG4uaG92ZXItYmctd2FzaGVkLXllbGxvdzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdhc2hlZC15ZWxsb3cpOyB9XG4uaG92ZXItYmctd2FzaGVkLXJlZDpob3Zlcixcbi5ob3Zlci1iZy13YXNoZWQtcmVkOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2FzaGVkLXJlZCk7IH1cblxuIiwiLyogVmFyaWFibGVzICovXG5cbjpyb290IHtcbiAgLS1zcGFjaW5nLW5vbmU6IDA7XG4gIC0tc3BhY2luZy1leHRyYS1zbWFsbDogLjI1cmVtO1xuICAtLXNwYWNpbmctc21hbGw6IC41cmVtO1xuICAtLXNwYWNpbmctbWVkaXVtOiAxcmVtO1xuICAtLXNwYWNpbmctbGFyZ2U6IDJyZW07XG4gIC0tc3BhY2luZy1leHRyYS1sYXJnZTogNHJlbTtcbiAgLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlOiA4cmVtO1xuICAtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2U6IDE2cmVtO1xufVxuXG4vKlxuICAgU1BBQ0lOR1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvbGF5b3V0L3NwYWNpbmcvXG5cbiAgIEFuIGVpZ2h0IHN0ZXAgcG93ZXJzIG9mIHR3byBzY2FsZSByYW5naW5nIGZyb20gMCB0byAxNnJlbS5cblxuICAgQmFzZTpcbiAgICAgcCA9IHBhZGRpbmdcbiAgICAgbSA9IG1hcmdpblxuXG4gICBNb2RpZmllcnM6XG4gICAgIGEgPSBhbGxcbiAgICAgaCA9IGhvcml6b250YWxcbiAgICAgdiA9IHZlcnRpY2FsXG4gICAgIHQgPSB0b3BcbiAgICAgciA9IHJpZ2h0XG4gICAgIGIgPSBib3R0b21cbiAgICAgbCA9IGxlZnRcblxuICAgICAwID0gbm9uZVxuICAgICAxID0gMXN0IHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICAzID0gM3JkIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA0ID0gNHRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA2ID0gNnRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA3ID0gN3RoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cblxuLnBhMCB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbi5wYTEgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuLnBhMiB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4ucGEzIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4ucGE0IHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbi5wYTUgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuLnBhNiB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4ucGE3IHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuLnBsMCB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuLnBsMSB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbi5wbDIgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4ucGwzIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbi5wbDQgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4ucGw1IHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuLnBsNiB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbi5wbDcgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbi5wcjAgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4ucHIxIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbi5wcjIgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuLnByMyB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuLnByNCB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4ucHI1IHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbi5wcjYgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuLnByNyB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbi5wYjAgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuLnBiMSB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuLnBiMiB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuLnBiMyB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbi5wYjQgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbi5wYjUgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbi5wYjYgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbi5wYjcgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuLnB0MCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4ucHQxIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4ucHQyIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4ucHQzIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuLnB0NCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuLnB0NSB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuLnB0NiB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuLnB0NyB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4ucHYwIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xufVxuLnB2MSB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xufVxuLnB2MiB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctc21hbGwpO1xufVxuLnB2MyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG59XG4ucHY0IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG59XG4ucHY1IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7XG59XG4ucHY2IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG59XG5cbi5wdjcge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbn1cblxuLnBoMCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1ub25lKTtcbn1cblxuLnBoMSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xufVxuXG4ucGgyIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG59XG5cbi5waDMge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1tZWRpdW0pO1xufVxuXG4ucGg0IHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG59XG5cbi5waDUge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbn1cblxuLnBoNiB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xufVxuXG4ucGg3IHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG59XG5cbi5tYTAgIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuLm1hMSB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4ubWEyICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4ubWEzICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuLm1hNCAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuLm1hNSAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuLm1hNiB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4ubWE3IHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4ubWwwICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuLm1sMSB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbi5tbDIgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuLm1sMyAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuLm1sNCAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4ubWw1ICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbi5tbDYgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4ubWw3IHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbi5tcjAgIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuLm1yMSB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4ubXIyICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4ubXIzICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuLm1yNCAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuLm1yNSAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuLm1yNiB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4ubXI3IHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4ubWIwICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4ubWIxIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4ubWIyICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuLm1iMyAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4ubWI0ICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuLm1iNSAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbi5tYjYgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbi5tYjcgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4ubXQwICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4ubXQxIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4ubXQyICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuLm10MyAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4ubXQ0ICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuLm10NSAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbi5tdDYgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbi5tdDcgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4ubXYwICAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xufVxuLm12MSAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG59XG4ubXYyICAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG59XG4ubXYzICAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbn1cbi5tdjQgICB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbn1cbi5tdjUgICB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbn1cbi5tdjYgIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xufVxuLm12NyAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG59XG5cbi5taDAgICB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctbm9uZSk7XG59XG4ubWgxICAge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG59XG4ubWgyICAge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG59XG4ubWgzICAge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1tZWRpdW0pO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbn1cbi5taDQgICB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbn1cbi5taDUgICB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbn1cbi5taDYgIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xufVxuLm1oNyAge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAucGEwLW5zICB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5wYTEtbnMgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLnBhMi1ucyAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLnBhMy1ucyAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5wYTQtbnMgIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5wYTUtbnMgIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5wYTYtbnMgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLnBhNy1ucyB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLnBsMC1ucyAgeyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5wbDEtbnMgeyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAucGwyLW5zICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5wbDMtbnMgIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5wbDQtbnMgIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLnBsNS1ucyAgeyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAucGw2LW5zIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLnBsNy1ucyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAucHIwLW5zICB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5wcjEtbnMgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLnByMi1ucyAgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLnByMy1ucyAgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5wcjQtbnMgIHsgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5wcjUtbnMgeyAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5wcjYtbnMgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLnByNy1ucyB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLnBiMC1ucyAgeyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLnBiMS1ucyB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLnBiMi1ucyAgeyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5wYjMtbnMgIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLnBiNC1ucyAgeyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5wYjUtbnMgIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAucGI2LW5zIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAucGI3LW5zIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLnB0MC1ucyAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLnB0MS1ucyB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLnB0Mi1ucyAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5wdDMtbnMgIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLnB0NC1ucyAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5wdDUtbnMgIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAucHQ2LW5zIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAucHQ3LW5zIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLnB2MC1ucyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gIH1cbiAgLnB2MS1ucyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgfVxuICAucHYyLW5zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctc21hbGwpO1xuICB9XG4gIC5wdjMtbnMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgfVxuICAucHY0LW5zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICB9XG4gIC5wdjUtbnMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7XG4gIH1cbiAgLnB2Ni1ucyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuICAucHY3LW5zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5waDAtbnMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICB9XG4gIC5waDEtbnMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gIH1cbiAgLnBoMi1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgfVxuICAucGgzLW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIH1cbiAgLnBoNC1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgfVxuICAucGg1LW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5waDYtbnMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cbiAgLnBoNy1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuXG4gIC5tYTAtbnMgIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuICAubWExLW5zIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLm1hMi1ucyAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuICAubWEzLW5zICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuICAubWE0LW5zICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5tYTUtbnMgIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbiAgLm1hNi1ucyB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4gIC5tYTctbnMgeyBtYXJnaW46IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLm1sMC1ucyAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLm1sMS1ucyB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLm1sMi1ucyAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5tbDMtbnMgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLm1sNC1ucyAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5tbDUtbnMgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAubWw2LW5zIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAubWw3LW5zIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLm1yMC1ucyAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5tcjEtbnMgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAubXIyLW5zICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5tcjMtbnMgIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5tcjQtbnMgIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLm1yNS1ucyAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAubXI2LW5zIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLm1yNy1ucyB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAubWIwLW5zICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5tYjEtbnMgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLm1iMi1ucyAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLm1iMy1ucyAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5tYjQtbnMgIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5tYjUtbnMgIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5tYjYtbnMgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLm1iNy1ucyB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLm10MC1ucyAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuICAubXQxLW5zIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4gIC5tdDItbnMgIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5tdDMtbnMgIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuICAubXQ0LW5zICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuICAubXQ1LW5zICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAubXQ2LW5zIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4gIC5tdDctbnMgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4gIC5tdjAtbnMgICB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICB9XG4gIC5tdjEtbnMgIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgfVxuICAubXYyLW5zICAge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctc21hbGwpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctc21hbGwpO1xuICB9XG4gIC5tdjMtbnMgICB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tZWRpdW0pO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgfVxuICAubXY0LW5zICAge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICB9XG4gIC5tdjUtbnMgICB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7XG4gIH1cbiAgLm12Ni1ucyAge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5tdjctbnMgIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuXG4gIC5taDAtbnMgICB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICB9XG4gIC5taDEtbnMgICB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gIH1cbiAgLm1oMi1ucyAgIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgfVxuICAubWgzLW5zICAge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIH1cbiAgLm1oNC1ucyAgIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgfVxuICAubWg1LW5zICAge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5taDYtbnMgIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuICAubWg3LW5zICB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cblxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLnBhMC1tICB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5wYTEtbSB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAucGEyLW0gIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5wYTMtbSAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5wYTQtbSAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLnBhNS1tICB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAucGE2LW0geyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLnBhNy1tIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAucGwwLW0gIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuICAucGwxLW0geyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAucGwyLW0gIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLnBsMy1tICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuICAucGw0LW0gIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLnBsNS1tICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5wbDYtbSB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4gIC5wbDctbSB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAucHIwLW0gIHsgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLnByMS1tIHsgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4gIC5wcjItbSAgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLnByMy1tICB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLnByNC1tICB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuICAucHI1LW0gIHsgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5wcjYtbSB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAucHI3LW0geyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4gIC5wYjAtbSAgeyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLnBiMS1tIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAucGIyLW0gIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuICAucGIzLW0gIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLnBiNC1tICB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLnBiNS1tICB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbiAgLnBiNi1tIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAucGI3LW0geyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAucHQwLW0gIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5wdDEtbSB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLnB0Mi1tICB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLnB0My1tICB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5wdDQtbSAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5wdDUtbSAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5wdDYtbSB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLnB0Ny1tIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLnB2MC1tIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgfVxuICAucHYxLW0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gIH1cbiAgLnB2Mi1tIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctc21hbGwpO1xuICB9XG4gIC5wdjMtbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tZWRpdW0pO1xuICB9XG4gIC5wdjQtbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgfVxuICAucHY1LW0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7XG4gIH1cbiAgLnB2Ni1tIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5wdjctbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuXG4gIC5waDAtbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gIH1cbiAgLnBoMS1tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICB9XG4gIC5waDItbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgfVxuICAucGgzLW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1tZWRpdW0pO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgfVxuICAucGg0LW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gIH1cbiAgLnBoNS1tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5waDYtbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuICAucGg3LW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cblxuICAubWEwLW0gIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuICAubWExLW0geyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAubWEyLW0gIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLm1hMy1tICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuICAubWE0LW0gIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLm1hNS1tICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5tYTYtbSB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4gIC5tYTctbSB7IG1hcmdpbjogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAubWwwLW0gIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5tbDEtbSB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLm1sMi1tICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLm1sMy1tICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5tbDQtbSAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5tbDUtbSAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5tbDYtbSB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLm1sNy1tIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLm1yMC1tICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLm1yMS1tIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLm1yMi1tICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5tcjMtbSAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLm1yNC1tICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5tcjUtbSAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAubXI2LW0geyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAubXI3LW0geyBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLm1iMC1tICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5tYjEtbSB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAubWIyLW0gIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5tYjMtbSAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5tYjQtbSAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLm1iNS1tICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAubWI2LW0geyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLm1iNy1tIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAubXQwLW0gIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLm10MS1tIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4gIC5tdDItbSAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLm10My1tICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLm10NC1tICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuICAubXQ1LW0gIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5tdDYtbSB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAubXQ3LW0geyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4gIC5tdjAtbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICB9XG4gIC5tdjEtbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gIH1cbiAgLm12Mi1tIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgfVxuICAubXYzLW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIH1cbiAgLm12NC1tIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgfVxuICAubXY1LW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5tdjYtbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cbiAgLm12Ny1tIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuXG4gIC5taDAtbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICB9XG4gIC5taDEtbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gIH1cbiAgLm1oMi1tIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgfVxuICAubWgzLW0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIH1cbiAgLm1oNC1tIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgfVxuICAubWg1LW0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5taDYtbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cbiAgLm1oNy1tIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuXG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC5wYTAtbCAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuICAucGExLWwgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLnBhMi1sICB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuICAucGEzLWwgIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuICAucGE0LWwgIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5wYTUtbCAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbiAgLnBhNi1sIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4gIC5wYTctbCB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLnBsMC1sICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLnBsMS1sIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLnBsMi1sICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5wbDMtbCAgeyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLnBsNC1sICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5wbDUtbCAgeyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAucGw2LWwgeyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAucGw3LWwgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLnByMC1sICB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5wcjEtbCB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAucHIyLWwgIHsgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5wcjMtbCAgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5wcjQtbCAgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLnByNS1sICB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAucHI2LWwgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLnByNy1sIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAucGIwLWwgIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5wYjEtbCB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLnBiMi1sICB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbWFsbCk7IH1cbiAgLnBiMy1sICB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5wYjQtbCAgeyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5wYjUtbCAgeyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpOyB9XG4gIC5wYjYtbCB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLnBiNy1sIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLnB0MC1sICB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuICAucHQxLWwgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4gIC5wdDItbCAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5wdDMtbCAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuICAucHQ0LWwgIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuICAucHQ1LWwgIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAucHQ2LWwgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4gIC5wdDctbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4gIC5wdjAtbCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gIH1cbiAgLnB2MS1sIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICB9XG4gIC5wdjItbCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctc21hbGwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTtcbiAgfVxuICAucHYzLWwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgfVxuICAucHY0LWwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWxhcmdlKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gIH1cbiAgLnB2NS1sIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5wdjYtbCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgfVxuICAucHY3LWwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cblxuICAucGgwLWwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICB9XG4gIC5waDEtbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgfVxuICAucGgyLWwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gIH1cbiAgLnBoMy1sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gIH1cbiAgLnBoNC1sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICB9XG4gIC5waDUtbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgfVxuICAucGg2LWwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cbiAgLnBoNy1sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICB9XG5cbiAgLm1hMC1sICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctbm9uZSk7IH1cbiAgLm1hMS1sIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLm1hMi1sICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5tYTMtbCAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7IH1cbiAgLm1hNC1sICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5tYTUtbCAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAubWE2LWwgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuICAubWE3LWwgeyBtYXJnaW46IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLm1sMC1sICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuICAubWwxLWwgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4gIC5tbDItbCAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5tbDMtbCAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuICAubWw0LWwgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuICAubWw1LWwgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAubWw2LWwgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4gIC5tbDctbCB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4gIC5tcjAtbCAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5tcjEtbCB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpOyB9XG4gIC5tcjItbCAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuICAubXIzLWwgIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5tcjQtbCAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWxhcmdlKTsgfVxuICAubXI1LWwgIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbiAgLm1yNi1sIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLm1yNy1sIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlKTsgfVxuXG4gIC5tYjAtbCAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1ub25lKTsgfVxuICAubWIxLWwgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1zbWFsbCk7IH1cbiAgLm1iMi1sICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtYWxsKTsgfVxuICAubWIzLWwgIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxuICAubWI0LWwgIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbGFyZ2UpOyB9XG4gIC5tYjUtbCAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7IH1cbiAgLm1iNi1sIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG4gIC5tYjctbCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpOyB9XG5cbiAgLm10MC1sICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW5vbmUpOyB9XG4gIC5tdDEtbCB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTsgfVxuICAubXQyLWwgIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XG4gIC5tdDMtbCAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tZWRpdW0pOyB9XG4gIC5tdDQtbCAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1sYXJnZSk7IH1cbiAgLm10NS1sICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTsgfVxuICAubXQ2LWwgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1sYXJnZSk7IH1cbiAgLm10Ny1sIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7IH1cblxuICAubXYwLWwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbm9uZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgfVxuICAubXYxLWwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICB9XG4gIC5tdjItbCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gIH1cbiAgLm12My1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW1lZGl1bSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tZWRpdW0pO1xuICB9XG4gIC5tdjQtbCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gIH1cbiAgLm12NS1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgfVxuICAubXY2LWwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5tdjctbCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cblxuICAubWgwLWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLW5vbmUpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1ub25lKTtcbiAgfVxuICAubWgxLWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLXNtYWxsKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtc21hbGwpO1xuICB9XG4gIC5taDItbCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctc21hbGwpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1zbWFsbCk7XG4gIH1cbiAgLm1oMy1sIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1tZWRpdW0pO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1tZWRpdW0pO1xuICB9XG4gIC5taDQtbCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbGFyZ2UpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1sYXJnZSk7XG4gIH1cbiAgLm1oNS1sIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1leHRyYS1sYXJnZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWxhcmdlKTtcbiAgfVxuICAubWg2LWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWV4dHJhLWV4dHJhLWxhcmdlKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICB9XG4gIC5taDctbCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1leHRyYS1leHRyYS1leHRyYS1sYXJnZSk7XG4gIH1cbn1cblxuIiwiLypcblxuICBUQUJMRVNcbiAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvZWxlbWVudHMvdGFibGVzL1xuXG4qL1xuXG4uY29sbGFwc2Uge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi5zdHJpcGVkLS1saWdodC1zaWx2ZXI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1zaWx2ZXIpO1xufVxuXG4uc3RyaXBlZC0tbW9vbi1ncmF5Om50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbW9vbi1ncmF5KTtcbn1cblxuLnN0cmlwZWQtLWxpZ2h0LWdyYXk6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmF5KTtcbn1cblxuLnN0cmlwZWQtLW5lYXItd2hpdGU6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZWFyLXdoaXRlKTtcbn1cblxuLnN0cmlwZS1saWdodDpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLTEwKTtcbn1cblxuLnN0cmlwZS1kYXJrOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2stMTApO1xufVxuIiwiLypcblxuICAgVEVYVCBERUNPUkFUSU9OXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90eXBvZ3JhcGh5L3RleHQtZGVjb3JhdGlvbi9cblxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5zdHJpa2UgICAgICAgeyB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuLnVuZGVybGluZSAgICB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4ubm8tdW5kZXJsaW5lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC5zdHJpa2UtbnMgICAgICAgeyB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAudW5kZXJsaW5lLW5zICAgIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm5vLXVuZGVybGluZS1ucyB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLnN0cmlrZS1tICAgICAgIHsgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgLnVuZGVybGluZS1tICAgIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm5vLXVuZGVybGluZS1tIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC5zdHJpa2UtbCAgICAgICB7IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gIC51bmRlcmxpbmUtbCB7ICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5uby11bmRlcmxpbmUtbCB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxufVxuIiwiLypcblxuICBURVhUIEFMSUdOXG4gIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3R5cG9ncmFwaHkvdGV4dC1hbGlnbi9cblxuICBCYXNlXG4gICAgdCA9IHRleHQtYWxpZ25cblxuICBNb2RpZmllcnNcbiAgICBsID0gbGVmdFxuICAgIHIgPSByaWdodFxuICAgIGMgPSBjZW50ZXJcblxuICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgIC1ucyA9IG5vdC1zbWFsbFxuICAgIC1tICA9IG1lZGl1bVxuICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi50bCAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4udHIgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50YyAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC50bC1ucyAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50ci1ucyAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAudGMtbnMgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAudGwtbSAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50ci1tICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50Yy1tICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAudGwtbCAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50ci1sICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50Yy1sICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxufVxuXG4iLCIvKlxuXG4gICBURVhUIFRSQU5TRk9STVxuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdHlwb2dyYXBoeS90ZXh0LXRyYW5zZm9ybS9cblxuICAgQmFzZTpcbiAgICAgdHQgPSB0ZXh0LXRyYW5zZm9ybVxuXG4gICBNb2RpZmllcnNcbiAgICAgYyA9IGNhcGl0YWxpemVcbiAgICAgbCA9IGxvd2VyY2FzZVxuICAgICB1ID0gdXBwZXJjYXNlXG4gICAgIG4gPSBub25lXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1ucyA9IG5vdC1zbWFsbFxuICAgICAtbSAgPSBtZWRpdW1cbiAgICAgLWwgID0gbGFyZ2VcblxuKi9cblxuLnR0YyB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4udHRsIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuLnR0dSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50dG4geyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLnR0Yy1ucyB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC50dGwtbnMgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIC50dHUtbnMgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50dG4tbnMgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLnR0Yy1tIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLnR0bC1tIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuICAudHR1LW0geyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50dG4tbSB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC50dGMtbCB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC50dGwtbCB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbiAgLnR0dS1sIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudHRuLWwgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxufVxuIiwiLypcblxuICAgVFlQRSBTQ0FMRVxuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdHlwb2dyYXBoeS9zY2FsZS9cblxuICAgQmFzZTpcbiAgICBmID0gZm9udC1zaXplXG5cbiAgIE1vZGlmaWVyc1xuICAgICAxID0gMXN0IHN0ZXAgaW4gc2l6ZSBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gc2l6ZSBzY2FsZVxuICAgICAzID0gM3JkIHN0ZXAgaW4gc2l6ZSBzY2FsZVxuICAgICA0ID0gNHRoIHN0ZXAgaW4gc2l6ZSBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gc2l6ZSBzY2FsZVxuICAgICA2ID0gNnRoIHN0ZXAgaW4gc2l6ZSBzY2FsZVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG4qL1xuXG4vKlxuICogRm9yIEhlcm8vTWFya2V0aW5nIFRpdGxlc1xuICpcbiAqIFRoZXNlIGdlbmVyYWxseSBhcmUgdG9vIGxhcmdlIGZvciBtb2JpbGVcbiAqIHNvIGJlIGNhcmVmdWwgdXNpbmcgdGhlbSBvbiBzbWFsbGVyIHNjcmVlbnMuXG4gKiAqL1xuXG4uZi02LFxuLmYtaGVhZGxpbmUge1xuICBmb250LXNpemU6IDZyZW07XG59XG4uZi01LFxuLmYtc3ViaGVhZGxpbmUge1xuICBmb250LXNpemU6IDVyZW07XG59XG5cblxuLyogVHlwZSBTY2FsZSAqL1xuXG4uZjEgeyBmb250LXNpemU6IDNyZW07IH1cbi5mMiB7IGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuLmYzIHsgZm9udC1zaXplOiAxLjVyZW07IH1cbi5mNCB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuLmY1IHsgZm9udC1zaXplOiAxcmVtOyB9XG4uZjYgeyBmb250LXNpemU6IC44NzVyZW07IH1cbi5mNyB7IGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpe1xuICAuZi02LW5zLFxuICAuZi1oZWFkbGluZS1ucyB7IGZvbnQtc2l6ZTogNnJlbTsgfVxuICAuZi01LW5zLFxuICAuZi1zdWJoZWFkbGluZS1ucyB7IGZvbnQtc2l6ZTogNXJlbTsgfVxuICAuZjEtbnMgeyBmb250LXNpemU6IDNyZW07IH1cbiAgLmYyLW5zIHsgZm9udC1zaXplOiAyLjI1cmVtOyB9XG4gIC5mMy1ucyB7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5mNC1ucyB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuZjUtbnMgeyBmb250LXNpemU6IDFyZW07IH1cbiAgLmY2LW5zIHsgZm9udC1zaXplOiAuODc1cmVtOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAuZi02LW0sXG4gIC5mLWhlYWRsaW5lLW0geyBmb250LXNpemU6IDZyZW07IH1cbiAgLmYtNS1tLFxuICAuZi1zdWJoZWFkbGluZS1tIHsgZm9udC1zaXplOiA1cmVtOyB9XG4gIC5mMS1tIHsgZm9udC1zaXplOiAzcmVtOyB9XG4gIC5mMi1tIHsgZm9udC1zaXplOiAyLjI1cmVtOyB9XG4gIC5mMy1tIHsgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgLmY0LW0geyBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmY1LW0geyBmb250LXNpemU6IDFyZW07IH1cbiAgLmY2LW0geyBmb250LXNpemU6IC44NzVyZW07IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLmYtNi1sLFxuICAuZi1oZWFkbGluZS1sIHtcbiAgICBmb250LXNpemU6IDZyZW07XG4gIH1cbiAgLmYtNS1sLFxuICAuZi1zdWJoZWFkbGluZS1sIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gIH1cbiAgLmYxLWwgeyBmb250LXNpemU6IDNyZW07IH1cbiAgLmYyLWwgeyBmb250LXNpemU6IDIuMjVyZW07IH1cbiAgLmYzLWwgeyBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuZjQtbCB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuZjUtbCB7IGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZjYtbCB7IGZvbnQtc2l6ZTogLjg3NXJlbTsgfVxufVxuIiwiLypcblxuICAgVFlQT0dSQVBIWVxuICAgaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdHlwb2dyYXBoeS9tZWFzdXJlL1xuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cblxuXG4vKiBNZWFzdXJlIGlzIGxpbWl0ZWQgdG8gfjY2IGNoYXJhY3RlcnMgKi9cbi5tZWFzdXJlIHtcbiAgbWF4LXdpZHRoOiAzMGVtO1xufVxuXG4vKiBNZWFzdXJlIGlzIGxpbWl0ZWQgdG8gfjgwIGNoYXJhY3RlcnMgKi9cbi5tZWFzdXJlLXdpZGUge1xuICBtYXgtd2lkdGg6IDM0ZW07XG59XG5cbi8qIE1lYXN1cmUgaXMgbGltaXRlZCB0byB+NDUgY2hhcmFjdGVycyAqL1xuLm1lYXN1cmUtbmFycm93IHtcbiAgbWF4LXdpZHRoOiAyMGVtO1xufVxuXG4vKiBCb29rIHBhcmFncmFwaCBzdHlsZSAtIHBhcmFncmFwaHMgYXJlIGluZGVudGVkIHdpdGggbm8gdmVydGljYWwgc3BhY2luZy4gKi9cbi5pbmRlbnQge1xuICB0ZXh0LWluZGVudDogMWVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc21hbGwtY2FwcyB7XG4gIGZvbnQtdmFyaWFudDogc21hbGwtY2Fwcztcbn1cblxuLyogQ29tYmluZSB0aGlzIGNsYXNzIHdpdGggYSB3aWR0aCB0byB0cnVuY2F0ZSB0ZXh0IChvciBqdXN0IGxlYXZlIGFzIGlzIHRvIHRydW5jYXRlIGF0IHdpZHRoIG9mIGNvbnRhaW5pbmcgZWxlbWVudC4gKi9cblxuLnRydW5jYXRlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW5vdC1zbWFsbCkge1xuICAubWVhc3VyZS1ucyAge1xuICAgIG1heC13aWR0aDogMzBlbTtcbiAgfVxuICAubWVhc3VyZS13aWRlLW5zIHtcbiAgICBtYXgtd2lkdGg6IDM0ZW07XG4gIH1cbiAgLm1lYXN1cmUtbmFycm93LW5zIHtcbiAgICBtYXgtd2lkdGg6IDIwZW07XG4gIH1cbiAgLmluZGVudC1ucyB7XG4gICAgdGV4dC1pbmRlbnQ6IDFlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnNtYWxsLWNhcHMtbnMge1xuICAgIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcztcbiAgfVxuICAudHJ1bmNhdGUtbnMge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgLm1lYXN1cmUtbSB7XG4gICAgbWF4LXdpZHRoOiAzMGVtO1xuICB9XG4gIC5tZWFzdXJlLXdpZGUtbSB7XG4gICAgbWF4LXdpZHRoOiAzNGVtO1xuICB9XG4gIC5tZWFzdXJlLW5hcnJvdy1tIHtcbiAgICBtYXgtd2lkdGg6IDIwZW07XG4gIH1cbiAgLmluZGVudC1tIHtcbiAgICB0ZXh0LWluZGVudDogMWVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuc21hbGwtY2Fwcy1tIHtcbiAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG4gIH1cbiAgLnRydW5jYXRlLW0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAubWVhc3VyZS1sIHtcbiAgICBtYXgtd2lkdGg6IDMwZW07XG4gIH1cbiAgLm1lYXN1cmUtd2lkZS1sIHtcbiAgICBtYXgtd2lkdGg6IDM0ZW07XG4gIH1cbiAgLm1lYXN1cmUtbmFycm93LWwge1xuICAgIG1heC13aWR0aDogMjBlbTtcbiAgfVxuICAuaW5kZW50LWwge1xuICAgIHRleHQtaW5kZW50OiAxZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5zbWFsbC1jYXBzLWwge1xuICAgIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcztcbiAgfVxuICAudHJ1bmNhdGUtbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG59XG4iLCIvKlxuXG4gICBVVElMSVRJRVNcblxuKi9cblxuLyogVGhpcyBpcyBmb3IgZmx1aWQgbWVkaWEgdGhhdCBpcyBlbWJlZGRlZCBmcm9tIHRoaXJkIHBhcnR5IHNpdGVzIGxpa2UgeW91dHViZSwgdmltZW8gZXRjLlxuICogV3JhcCB0aGUgb3V0ZXIgZWxlbWVudCBpbiBhc3BlY3QtcmF0aW8gYW5kIHRoZW4gZXh0ZW5kIGl0IHdpdGggdGhlIGRlc2lyZWQgcmF0aW8gaS5lXG4gKiBNYWtlIHN1cmUgdGhlcmUgYXJlIG5vIGhlaWdodCBhbmQgd2lkdGggYXR0cmlidXRlcyBvbiB0aGUgZW1iZWRkZWQgbWVkaWEuXG4gKiBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2NvbXBvbmVudHMtZmxleC1lbWJlZFxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogPGRpdiBjbGFzcz1cImFzcGVjdC1yYXRpbyBhc3BlY3QtcmF0aW8tLTE2eDlcIj5cbiAqICA8aWZyYW1lIGNsYXNzPVwiYXNwZWN0LXJhdGlvLS1vYmplY3RcIj48L2lmcmFtZT5cbiAqIDwvZGl2PlxuICpcbiAqICovXG5cbi5hc3BlY3QtcmF0aW8ge1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFzcGVjdC1yYXRpby0tMTZ4OSB7IHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbi5hc3BlY3QtcmF0aW8tLTl4MTYgeyBwYWRkaW5nLWJvdHRvbTogMTc3Ljc3JTsgfVxuXG4uYXNwZWN0LXJhdGlvLS00eDMgeyAgcGFkZGluZy1ib3R0b206IDc1JTsgfVxuLmFzcGVjdC1yYXRpby0tM3g0IHsgIHBhZGRpbmctYm90dG9tOiAxMzMuMzMlOyB9XG5cbi5hc3BlY3QtcmF0aW8tLTZ4NCB7ICBwYWRkaW5nLWJvdHRvbTogNjYuNiU7IH1cbi5hc3BlY3QtcmF0aW8tLTR4NiB7ICBwYWRkaW5nLWJvdHRvbTogMTUwJTsgfVxuXG4uYXNwZWN0LXJhdGlvLS04eDUgeyAgcGFkZGluZy1ib3R0b206IDYyLjUlOyB9XG4uYXNwZWN0LXJhdGlvLS01eDggeyAgcGFkZGluZy1ib3R0b206IDE2MCU7IH1cblxuLmFzcGVjdC1yYXRpby0tN3g1IHsgIHBhZGRpbmctYm90dG9tOiA3MS40MiU7IH1cbi5hc3BlY3QtcmF0aW8tLTV4NyB7ICBwYWRkaW5nLWJvdHRvbTogMTQwJTsgfVxuXG4uYXNwZWN0LXJhdGlvLS0xeDEgeyAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuLmFzcGVjdC1yYXRpby0tb2JqZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG59XG5cbi5vdmVyZmxvdy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5jZW50ZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLypcblxuICAgVklTSUJJTElUWVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cblxuLypcbiAgICBUZXh0IHRoYXQgaXMgaGlkZGVuIGJ1dCBhY2Nlc3NpYmxlXG4gICAgUmVmOiBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4qL1xuXG4uY2xpcCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICBfcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTsgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLmNsaXAtbnMge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIF9wb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7IC8qIElFNiwgSUU3ICovXG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAuY2xpcC1tIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICBfcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpOyAvKiBJRTYsIElFNyAqL1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sYXJnZSkge1xuICAuY2xpcC1sIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICBfcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpOyAvKiBJRTYsIElFNyAqL1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgfVxufVxuXG4iLCIvKlxuXG4gICBXSElURSBTUEFDRVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbnMgPSBub3Qtc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cblxuLndzLW5vcm1hbCB7IHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbi5ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4ucHJlIHsgd2hpdGUtc3BhY2U6IHByZTsgfVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcbiAgLndzLW5vcm1hbC1ucyB7IHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLm5vd3JhcC1ucyB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnByZS1ucyB7IHdoaXRlLXNwYWNlOiBwcmU7IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gIC53cy1ub3JtYWwtbSB7IHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLm5vd3JhcC1tIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAucHJlLW0geyB3aGl0ZS1zcGFjZTogcHJlOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC53cy1ub3JtYWwtbCB7IHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLm5vd3JhcC1sIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAucHJlLWwgeyB3aGl0ZS1zcGFjZTogcHJlOyB9XG59XG5cbiIsIi8qXG5cbiAgIFZFUlRJQ0FMIEFMSUdOXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1ucyA9IG5vdC1zbWFsbFxuICAgICAtbSAgPSBtZWRpdW1cbiAgICAgLWwgID0gbGFyZ2VcblxuKi9cblxuLnYtYmFzZSAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbi52LW1pZCAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuLnYtdG9wICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4udi1idG0gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gIC52LWJhc2UtbnMgICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIC52LW1pZC1ucyAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAudi10b3AtbnMgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnYtYnRtLW5zICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1lZGl1bSkge1xuICAudi1iYXNlLW0gICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIC52LW1pZC1tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC52LXRvcC1tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC52LWJ0bS1tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XG4gIC52LWJhc2UtbCAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgLnYtbWlkLWwgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnYtdG9wLWwgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnYtYnRtLWwgICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbn1cbiIsIi8qXG5cbiAgSE9WRVIgRUZGRUNUU1xuICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90aGVtZXMvaG92ZXJzL1xuXG4gICAgLSBEaW1cbiAgICAtIEhpZGUgQ2hpbGRcbiAgICAtIFVuZGVybGluZSB0ZXh0XG4gICAgLSBHcm93XG4gICAgLSBQb2ludGVyXG4gICAgLSBTaGFkb3dcblxuKi9cblxuLypcblxuICBEaW0gZWxlbWVudCBvbiBob3ZlciBieSBhZGRpbmcgdGhlIGRpbSBjbGFzcy5cblxuKi9cbi5kaW0ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbjtcbn1cbi5kaW06aG92ZXIsXG4uZGltOmZvY3VzIHtcbiAgb3BhY2l0eTogLjc1O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbjtcbn1cbi5kaW06YWN0aXZlIHtcbiAgb3BhY2l0eTogLjg7IHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLW91dDtcbn1cblxuLypcblxuICBIaWRlIGNoaWxkICYgcmV2ZWFsIG9uIGhvdmVyOlxuXG4gIFB1dCB0aGUgaGlkZS1jaGlsZCBjbGFzcyBvbiBhIHBhcmVudCBlbGVtZW50IGFuZCBhbnkgbmVzdGVkIGVsZW1lbnQgd2l0aCB0aGVcbiAgY2hpbGQgY2xhc3Mgd2lsbCBiZSBoaWRkZW4gYW5kIGRpc3BsYXllZCBvbiBob3ZlciBvciBmb2N1cy5cblxuICA8ZGl2IGNsYXNzPVwiaGlkZS1jaGlsZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGlsZFwiPiBIaWRkZW4gdW50aWwgaG92ZXIgb3IgZm9jdXMgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNoaWxkXCI+IEhpZGRlbiB1bnRpbCBob3ZlciBvciBmb2N1cyA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hpbGRcIj4gSGlkZGVuIHVudGlsIGhvdmVyIG9yIGZvY3VzIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjaGlsZFwiPiBIaWRkZW4gdW50aWwgaG92ZXIgb3IgZm9jdXMgPC9kaXY+XG4gIDwvZGl2PlxuKi9cblxuLmhpZGUtY2hpbGQgLmNoaWxkIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW47XG59XG4uaGlkZS1jaGlsZDpob3ZlciAgLmNoaWxkLFxuLmhpZGUtY2hpbGQ6Zm9jdXMgIC5jaGlsZCxcbi5oaWRlLWNoaWxkOmFjdGl2ZSAuY2hpbGQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbjtcbn1cblxuLnVuZGVybGluZS1ob3Zlcjpob3Zlcixcbi51bmRlcmxpbmUtaG92ZXI6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogQ2FuIGNvbWJpbmUgdGhpcyB3aXRoIG92ZXJmbG93LWhpZGRlbiB0byBtYWtlIGJhY2tncm91bmQgaW1hZ2VzIGdyb3cgb24gaG92ZXJcbiAqIGV2ZW4gaWYgeW91IGFyZSB1c2luZyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICovXG5cbi5ncm93IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dDtcbn1cblxuLmdyb3c6aG92ZXIsXG4uZ3Jvdzpmb2N1cyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5ncm93OmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjkwKTtcbn1cblxuLmdyb3ctbGFyZ2Uge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5ncm93LWxhcmdlOmhvdmVyLFxuLmdyb3ctbGFyZ2U6Zm9jdXMge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG59XG5cbi5ncm93LWxhcmdlOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcbn1cblxuLyogQWRkIHBvaW50ZXIgb24gaG92ZXIgKi9cblxuLnBvaW50ZXI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qXG4gICBBZGQgc2hhZG93IG9uIGhvdmVyLlxuXG4gICBQZXJmb3JtYW50IGJveC1zaGFkb3cgYW5pbWF0aW9uIHBhdHRlcm4gZnJvbVxuICAgaHR0cDovL3RvYmlhc2FobGluLmNvbS9ibG9nL2hvdy10by1hbmltYXRlLWJveC1zaGFkb3cvXG4qL1xuXG4uc2hhZG93LWhvdmVyOjphZnRlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggOHB4IDJweCByZ2JhKCAwLCAwLCAwLCAuMiApO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5zaGFkb3ctaG92ZXI6aG92ZXI6OmFmdGVyLFxuLnNoYWRvdy1ob3Zlcjpmb2N1czo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBDb21iaW5lIHdpdGggY2xhc3NlcyBpbiBza2lucyBhbmQgc2tpbnMtcHNldWRvIGZvclxuICogdGhvdXNhbmRzIG9mIGRpZmZlcmVudCB0cmFuc2l0aW9uIHBvc3NpYmlsaXRpZXMuICovXG5cbi5iZy1hbmltYXRlLFxuLmJnLWFuaW1hdGU6aG92ZXIsXG4uYmctYW5pbWF0ZTpmb2N1cyB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcbn1cblxuIiwiLypcblxuICBaLUlOREVYXG5cbiAgQmFzZVxuICAgIHogPSB6LWluZGV4XG5cbiAgTW9kaWZpZXJzXG4gICAgLTAgPSBsaXRlcmFsIHZhbHVlIDBcbiAgICAtMSA9IGxpdGVyYWwgdmFsdWUgMVxuICAgIC0yID0gbGl0ZXJhbCB2YWx1ZSAyXG4gICAgLTMgPSBsaXRlcmFsIHZhbHVlIDNcbiAgICAtNCA9IGxpdGVyYWwgdmFsdWUgNFxuICAgIC01ID0gbGl0ZXJhbCB2YWx1ZSA1XG4gICAgLTk5OSA9IGxpdGVyYWwgdmFsdWUgOTk5XG4gICAgLTk5OTkgPSBsaXRlcmFsIHZhbHVlIDk5OTlcblxuICAgIC1tYXggPSBsYXJnZXN0IGFjY2VwdGVkIHotaW5kZXggdmFsdWUgYXMgaW50ZWdlclxuXG4gICAgLWluaGVyaXQgPSBzdHJpbmcgdmFsdWUgaW5oZXJpdFxuICAgIC1pbml0aWFsID0gc3RyaW5nIHZhbHVlIGluaXRpYWxcbiAgICAtdW5zZXQgPSBzdHJpbmcgdmFsdWUgdW5zZXRcblxuICBNRE46IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL2RvY3MvV2ViL0NTUy96LWluZGV4XG4gIFNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIvemluZGV4Lmh0bWxcbiAgQXJ0aWNsZXM6XG4gICAgaHR0cHM6Ly9waGlsaXB3YWx0b24uY29tL2FydGljbGVzL3doYXQtbm8tb25lLXRvbGQteW91LWFib3V0LXotaW5kZXgvXG5cbiAgVGlwcyBvbiBleHRlbmRpbmc6XG4gIFRoZXJlIG1pZ2h0IGJlIGEgdGltZSB3b3J0aCB1c2luZyBuZWdhdGl2ZSB6LWluZGV4IHZhbHVlcy5cbiAgT3IgaWYgeW91IGFyZSB1c2luZyB0YWNoeW9ucyB3aXRoIGFub3RoZXIgcHJvamVjdCwgeW91IG1pZ2h0IG5lZWQgdG9cbiAgYWRqdXN0IHRoZXNlIHZhbHVlcyB0byBzdWl0IHlvdXIgbmVlZHMuXG5cbiovXG5cbi56LTAgeyB6LWluZGV4OiAwOyB9XG4uei0xIHsgei1pbmRleDogMTsgfVxuLnotMiB7IHotaW5kZXg6IDI7IH1cbi56LTMgeyB6LWluZGV4OiAzOyB9XG4uei00IHsgei1pbmRleDogNDsgfVxuLnotNSB7IHotaW5kZXg6IDU7IH1cblxuLnotOTk5IHsgei1pbmRleDogOTk5OyB9XG4uei05OTk5IHsgei1pbmRleDogOTk5OTsgfVxuXG4uei1tYXgge1xuICB6LWluZGV4OiAyMTQ3NDgzNjQ3O1xufVxuXG4uei1pbmhlcml0IHsgei1pbmRleDogaW5oZXJpdDsgfVxuLnotaW5pdGlhbCB7IHotaW5kZXg6IGluaXRpYWw7IH1cbi56LXVuc2V0IHsgei1pbmRleDogdW5zZXQ7IH1cblxuIiwiLypcblxuICBTVFlMRVNcblxuICBBZGQgY3VzdG9tIHN0eWxlcyBoZXJlLlxuXG4qL1xuIiwiXHJcbjpyb290IHtcclxuICAtLXdoaXRlLTk1OiByZ2JhKDI1NSwyNTUsMjU1LC45NSk7XHJcbn1cclxuXHJcbi5iZy13aGl0ZS05NSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLTk1KTsgfVxyXG5cclxuLmZsZXgtMSB7IGZsZXg6IDE7IH1cclxuXHJcblxyXG5hLmdyYXksXHJcbmEuZ3JheTp2aXNpdGVkIHtcclxuICBjb2xvcjogdmFyKC0tZ3JheSk7XHJcbn1cclxuXHJcbmEuc2lsdmVyLFxyXG5hLnNpbHZlcjp2aXNpdGVkIHtcclxuICBjb2xvcjogdmFyKC0tc2lsdmVyKTtcclxufVxyXG5cclxuYS5uZWFyLWJsYWNrLFxyXG5hLm5lYXItYmxhY2s6dmlzaXRlZCB7XHJcbiAgY29sb3I6IHZhcigtLW5lYXItYmxhY2spO1xyXG59XHJcblxyXG5hLndoaXRlLFxyXG5hLndoaXRlOnZpc2l0ZWQge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59O1xyXG5cclxuYS5tb29uLWdyYXksXHJcbmEubW9vbi1ncmF5OnZpc2l0ZWQge1xyXG4gIGNvbG9yOiB2YXIoLS1tb29uLWdyYXkpO1xyXG59O1xyXG5cclxuLmNlbnRlci1odiB7XHJcbiAgLyogUGFyZW50IG11c3QgYmUgYWJzb2x1dGUgKi9cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4udmVpbDphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjay02MCk7XHJcblxyXG59XHJcblxyXG4ubWVhc3VyZS13aWRlciB7XHJcbiAgbWF4LXdpZHRoOiAzOGVtO1xyXG59XHJcblxyXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1ub3Qtc21hbGwpIHtcclxuICAuYmctYmxhY2stNzAtbnMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjay03MCkgfVxyXG59XHJcblxyXG4ubGgtMiB7IGxpbmUtaGVpZ2h0OiAyIH1cclxuXHJcbkBtZWRpYSAoLS1icmVha3BvaW50LWxhcmdlKSB7XHJcbiAgLmxoLXhsYXJnZS1sIHsgbGluZS1oZWlnaHQ6IDIuNzUgfVxyXG59XHJcblxyXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1uYXYpIHtcclxuICAuZG4tbmF2ICAgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgLmRiLW5hdiAgIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAuZGliLW5hdiAgIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgLmZsZXgtbmF2IHsgZGlzcGxheTogZmxleDsgfVxyXG4gIC5tdDAtbmF2ICB7IG1hcmdpbi10b3A6IDA7IH1cclxuICAubWIwLW5hdiAgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgLm1sMi1uYXYgIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctc21hbGwpOyB9XHJcbiAgLm1sMy1uYXYgIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbWVkaXVtKTsgfVxyXG59XHJcblxyXG4ubm8tdW5kZXJsaW5lOmhvdmVyIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5tYjUtbmVnIHtcclxuICBtYXJnaW4tYm90dG9tOiAtNHJlbTtcclxufSIsIkBpbXBvcnQgJy4vdGFjaHlvbnMvX25vcm1hbGl6ZSc7XG5AaW1wb3J0ICdiYXNlLnF1YXJrcyc7XG5cbkBpbXBvcnQgJ29iamVjdHMubGF5b3V0cyc7XG5AaW1wb3J0ICdvYmplY3RzLnBhZ2UnO1xuQGltcG9ydCAnb2JqZWN0cy5icmFuZGluZyc7XG5AaW1wb3J0ICdvYmplY3RzLm5hdic7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMuYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy5zY3JpbSc7XG5AaW1wb3J0ICdjb21wb25lbnRzLmNhcHRpb25zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMuaWNvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy5wYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMuYnV0dG9ucyc7XG5cbkBpbXBvcnQgJ3BsdWdpbnMuc3dpcGVyJztcbkBpbXBvcnQgJ3BsdWdpbnMucGhvdG9zd2lwZSc7XG5AaW1wb3J0ICdwbHVnaW5zLnBob3Rvc3dpcGUtc2tpbic7XG5cbkBpbXBvcnQgJ2pzLmRpYWxvZyc7XG5AaW1wb3J0ICdqcy5zd2lwZXInO1xuXG5AaW1wb3J0ICd1dGlsaXRpZXMnO1xuXG5AaW1wb3J0ICcuL3RhY2h5b25zL3RhY2h5b25zJztcbkBpbXBvcnQgJ3RhY2h5b25zLnN0eWxlcyc7XG5cbi8qIFZhcmlhYmxlcyAqL1xuLyogSW1wb3J0aW5nIGhlcmUgd2lsbCBhbGxvdyB5b3UgdG8gb3ZlcnJpZGUgYW55IHZhcmlhYmxlcyBpbiB0aGUgbW9kdWxlcyAqL1xuQGltcG9ydCAnLi90YWNoeW9ucy9fY29sb3JzJztcbkBpbXBvcnQgJy4vdGFjaHlvbnMvX21lZGlhLXF1ZXJpZXMnO1xuXG4vKiBEZWJ1Z2dpbmcgKi9cbkBpbXBvcnQgJy4vdGFjaHlvbnMvX2RlYnVnLWNoaWxkcmVuJztcbkBpbXBvcnQgJy4vdGFjaHlvbnMvX2RlYnVnLWdyaWQnO1xuIiwiLypcblxuICAgVGFjaHlvbnNcbiAgIENPTE9SIFZBUklBQkxFU1xuXG4gICBHcmF5c2NhbGVcbiAgIC0gU29saWRzXG4gICAtIFRyYW5zcGFyZW5jaWVzXG4gICBDb2xvcnNcblxuKi9cblxuOnJvb3Qge1xuICAtLWJsYWNrOiAjMDAwO1xuICAtLW5lYXItYmxhY2s6ICMxMTE7XG4gIC0tZGFyay1ncmF5OiMzMzM7XG4gIC0tbWlkLWdyYXk6IzU1NTtcbiAgLS1ncmF5OiAjNzc3O1xuICAtLXNpbHZlcjogIzk5OTtcbiAgLS1saWdodC1zaWx2ZXI6ICNhYWE7XG4gIC0tbW9vbi1ncmF5OiAjY2NjO1xuICAtLWxpZ2h0LWdyYXk6ICNlZWU7XG4gIC0tbmVhci13aGl0ZTogI2Y0ZjRmNDtcbiAgLS13aGl0ZTogI2ZmZjtcblxuICAtLXRyYW5zcGFyZW50OnRyYW5zcGFyZW50O1xuXG4gLS1ibGFjay05MDogcmdiYSgwLDAsMCwuOSk7XG4gLS1ibGFjay04MDogcmdiYSgwLDAsMCwuOCk7XG4gLS1ibGFjay03MDogcmdiYSgwLDAsMCwuNyk7XG4gLS1ibGFjay02MDogcmdiYSgwLDAsMCwuNik7XG4gLS1ibGFjay01MDogcmdiYSgwLDAsMCwuNSk7XG4gLS1ibGFjay00MDogcmdiYSgwLDAsMCwuNCk7XG4gLS1ibGFjay0zMDogcmdiYSgwLDAsMCwuMyk7XG4gLS1ibGFjay0yMDogcmdiYSgwLDAsMCwuMik7XG4gLS1ibGFjay0xMDogcmdiYSgwLDAsMCwuMSk7XG4gLS1ibGFjay0wNTogcmdiYSgwLDAsMCwuMDUpO1xuIC0tYmxhY2stMDI1OiByZ2JhKDAsMCwwLC4wMjUpO1xuIC0tYmxhY2stMDEyNTogcmdiYSgwLDAsMCwuMDEyNSk7XG5cbiAgLS13aGl0ZS05MDogcmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gLS13aGl0ZS04MDogcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG4gLS13aGl0ZS03MDogcmdiYSgyNTUsMjU1LDI1NSwuNyk7XG4gLS13aGl0ZS02MDogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gLS13aGl0ZS01MDogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gLS13aGl0ZS00MDogcmdiYSgyNTUsMjU1LDI1NSwuNCk7XG4gLS13aGl0ZS0zMDogcmdiYSgyNTUsMjU1LDI1NSwuMyk7XG4gLS13aGl0ZS0yMDogcmdiYSgyNTUsMjU1LDI1NSwuMik7XG4gLS13aGl0ZS0xMDogcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gLS13aGl0ZS0wNTogcmdiYSgyNTUsMjU1LDI1NSwuMDUpO1xuIC0td2hpdGUtMDI1OiByZ2JhKDI1NSwyNTUsMjU1LC4wMjUpO1xuIC0td2hpdGUtMDEyNTogcmdiYSgyNTUsMjU1LDI1NSwuMDEyNSk7XG5cbiAgLS1kYXJrLXJlZDogICNlNzA0MGY7XG4gIC0tcmVkOiAgI2ZmNDEzNjtcbiAgLS1saWdodC1yZWQ6ICAjZmY3MjVjO1xuICAtLW9yYW5nZTogICNmZjYzMDA7XG4gIC0tZ29sZDogICNmZmI3MDA7XG4gIC0teWVsbG93OiAgI2ZmZDcwMDtcbiAgLS1saWdodC15ZWxsb3c6ICAjZmJmMWE5O1xuICAtLXB1cnBsZTogICM1ZTJjYTU7XG4gIC0tbGlnaHQtcHVycGxlOiAgI2E0NjNmMjtcbiAgLS1kYXJrLXBpbms6ICAjZDUwMDhmO1xuICAtLWhvdC1waW5rOiAjZmY0MWI0O1xuICAtLXBpbms6ICAjZmY4MGNjO1xuICAtLWxpZ2h0LXBpbms6ICAjZmZhM2Q3O1xuICAtLWRhcmstZ3JlZW46ICAjMTM3NzUyO1xuICAtLWdyZWVuOiAgIzE5YTk3NDtcbiAgLS1saWdodC1ncmVlbjogICM5ZWViY2Y7XG4gIC0tbmF2eTogICMwMDFiNDQ7XG4gIC0tZGFyay1ibHVlOiAgIzAwNDQ5ZTtcbiAgLS1ibHVlOiAgIzM1N2VkZDtcbiAgLS1saWdodC1ibHVlOiAgIzk2Y2NmZjtcbiAgLS1saWdodGVzdC1ibHVlOiAgI2NkZWNmZjtcbiAgLS13YXNoZWQtYmx1ZTogICNmNmZmZmU7XG4gIC0td2FzaGVkLWdyZWVuOiAgI2U4ZmRmNTtcbiAgLS13YXNoZWQteWVsbG93OiAgI2ZmZmNlYjtcbiAgLS13YXNoZWQtcmVkOiAgI2ZmZGZkZjtcblxufVxuIiwiLypcblxuICBDVVNUT00gTUVESUEgUVVFUklFU1xuXG4gIE1lZGlhIHF1ZXJ5IHZhbHVlcyBjYW4gYmUgY2hhbmdlZCB0byBmaXQgeW91ciBvd24gY29udGVudC5cbiAgVGhlcmUgYXJlIG5vIG1hZ2ljIGJ1bGxldHMgd2hlbiBpdCBjb21lcyB0byBtZWRpYSBxdWVyeSB3aWR0aCB2YWx1ZXMuXG4gIFRoZXkgc2hvdWxkIGJlIGRlY2xhcmVkIGluIGVtIHVuaXRzIC0gYW5kIHRoZXkgc2hvdWxkIGJlIHNldCB0byBtZWV0XG4gIHRoZSBuZWVkcyBvZiB5b3VyIGNvbnRlbnQuIFlvdSBjYW4gYWxzbyBhZGQgYWRkaXRpb25hbCBtZWRpYSBxdWVyaWVzLFxuICBvciByZW1vdmUgc29tZSBvZiB0aGUgZXhpc3Rpbmcgb25lcy5cblxuICBUaGVzZSBtZWRpYSBxdWVyaWVzIGNhbiBiZSByZWZlcmVuY2VkIGxpa2Ugc286XG5cbiAgQG1lZGlhICgtLWJyZWFrcG9pbnQtbm90LXNtYWxsKSB7XG4gICAgLm1lZGl1bS1hbmQtbGFyZ2VyLXNwZWNpZmljLXN0eWxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKC0tYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICAubWVkaXVtLXNjcmVlbi1zcGVjaWZpYy1zdHlsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICgtLWJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgICAubGFyZ2UtYW5kLWxhcmdlci1zY3JlZW4tc3BlY2lmaWMtc3R5bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgIH1cbiAgfVxuXG4qL1xuXG4vKiBNZWRpYSBRdWVyaWVzICovXG5AY3VzdG9tLW1lZGlhIC0tYnJlYWtwb2ludC1ub3Qtc21hbGwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pO1xuQGN1c3RvbS1tZWRpYSAtLWJyZWFrcG9pbnQtbmF2IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjMuNzVlbSk7XG5AY3VzdG9tLW1lZGlhIC0tYnJlYWtwb2ludC1tZWRpdW0gc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA3NWVtKTtcbkBjdXN0b20tbWVkaWEgLS1icmVha3BvaW50LWxhcmdlIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSk7XG4iLCIvKlxuXG4gIERFQlVHIENISUxEUkVOXG4gIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2RlYnVnL1xuXG4gIEp1c3QgYWRkIHRoZSBkZWJ1ZyBjbGFzcyB0byBhbnkgZWxlbWVudCB0byBzZWUgb3V0bGluZXMgb24gaXRzXG4gIGNoaWxkcmVuLlxuXG4qL1xuXG4uZGVidWcgKiB7IG91dGxpbmU6IDFweCBzb2xpZCBnb2xkOyB9XG4uZGVidWctd2hpdGUgKiB7IG91dGxpbmU6IDFweCBzb2xpZCB3aGl0ZTsgfVxuLmRlYnVnLWJsYWNrICogeyBvdXRsaW5lOiAxcHggc29saWQgYmxhY2s7IH1cblxuIiwiLypcblxuICAgREVCVUcgR1JJRFxuICAgaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvZGVidWctZ3JpZC9cblxuICAgQ2FuIGJlIHVzZWZ1bCBmb3IgZGVidWdnaW5nIGxheW91dCBpc3N1ZXNcbiAgIG9yIGhlbHBpbmcgdG8gbWFrZSBzdXJlIHRoaW5ncyBsaW5lIHVwIHBlcmZlY3RseS5cbiAgIEp1c3QgdGFjayBvbmUgb2YgdGhlc2UgY2xhc3NlcyBvbnRvIGEgcGFyZW50IGVsZW1lbnQuXG5cbiovXG5cbi5kZWJ1Zy1ncmlkIHtcbiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FZQUFBREVENzZMQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5aHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNVFJET1RZNE4wVTJOMFZGTVRGRk5qZzJNelpEUWprd05rUTRNamd3TUVJaUlIaHRjRTFOT2tsdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk1UUkRPVFk0TjBRMk4wVkZNVEZGTmpnMk16WkRRamt3TmtRNE1qZ3dNRUlpSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRTFoWTJsdWRHOXphQ2tpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvM05qY3lRa1EzTmpZM1F6VXhNVVUyUWpKQ1EwVXlOREE0TVRBd01qRTNNU0lnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8zTmpjeVFrUTNOelkzUXpVeE1VVTJRakpDUTBVeU5EQTRNVEF3TWpFM01TSXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9Qc0JTK0dNQUFBQWpTVVJCVkhqYVl2ei8vejhETHNENGdjR1hpWUVBR0JJS0dCbmUvL2ZGcHdBZ3dBQjk4QWFGMnBqbFVRQUFBQUJKUlU1RXJrSmdnZz09KSByZXBlYXQgdG9wIGxlZnQ7XG59XG5cbi5kZWJ1Zy1ncmlkLTE2IHtcbiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5aHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZPRFl5UmpoRVJEVTJOMFl5TVRGRk5qZzJNelpEUWprd05rUTRNamd3TUVJaUlIaHRjRTFOT2tsdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk9EWXlSamhFUkRRMk4wWXlNVEZGTmpnMk16WkRRamt3TmtRNE1qZ3dNRUlpSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRTFoWTJsdWRHOXphQ2tpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvM05qY3lRa1EzUVRZM1F6VXhNVVUyUWpKQ1EwVXlOREE0TVRBd01qRTNNU0lnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8zTmpjeVFrUTNRalkzUXpVeE1VVTJRakpDUTBVeU5EQTRNVEF3TWpFM01TSXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QdkNTMDFJQUFBQk1TVVJCVkhqYVltUjQvNStCRlBCZkFNRm0vTUJneDhSQUdXQ24xQUFtU2czNFE2a0JES01HTURDd0lDZU1JZW1GLzVRYXdFaXBBV3dVaHdFak1EdmJBV2xXa3ZWQnd1OHZRSUFCQUV3QkNwaDhVNmMwQUFBQUFFbEZUa1N1UW1DQykgcmVwZWF0IHRvcCBsZWZ0O1xufVxuXG4uZGVidWctZ3JpZC04LXNvbGlkIHtcbiAgYmFja2dyb3VuZDp3aGl0ZSB1cmwoZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNFFBWVJYaHBaZ0FBU1VrcUFBZ0FBQUFBQUFBQUFBQUFBUC9zQUJGRWRXTnJlUUFCQUFRQUFBQUFBQUQvNFFNeGFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x3QThQM2h3WVdOclpYUWdZbVZuYVc0OUl1Kzd2eUlnYVdROUlsYzFUVEJOY0VObGFHbEllbkpsVTNwT1ZHTjZhMk01WkNJL1BpQThlRHA0YlhCdFpYUmhJSGh0Ykc1ek9uZzlJbUZrYjJKbE9tNXpPbTFsZEdFdklpQjRPbmh0Y0hSclBTSkJaRzlpWlNCWVRWQWdRMjl5WlNBMUxqWXRZekV4TVNBM09TNHhOVGd6TWpVc0lESXdNVFV2TURrdk1UQXRNREU2TVRBNk1qQWdJQ0FnSUNBZ0lDSStJRHh5WkdZNlVrUkdJSGh0Ykc1ek9uSmtaajBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOHdNaTh5TWkxeVpHWXRjM2x1ZEdGNExXNXpJeUkrSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUlIaHRiRzV6T25odGNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMeUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0YlhBNlEzSmxZWFJ2Y2xSdmIydzlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMUlDaE5ZV05wYm5SdmMyZ3BJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0l4TWpJME9UY3pOamRDTXpFeFJUWkNNa0pEUlRJME1EZ3hNREF5TVRjeElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rSXhNakkwT1RjME5qZENNekV4UlRaQ01rSkRSVEkwTURneE1EQXlNVGN4SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFqRXlNalE1TnpFMk4wSXpNVEZGTmtJeVFrTkZNalF3T0RFd01ESXhOekVpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UWpFeU1qUTVOekkyTjBJek1URkZOa0l5UWtORk1qUXdPREV3TURJeE56RWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejcvN2dBT1FXUnZZbVVBWk1BQUFBQUIvOXNBaEFBYkdob3BIU2xCSmlaQlFpOHZMMEpIUHo0K1AwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSEFSMHBLVFFtTkQ4b0tEOUhQelUvUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZi93QUFSQ0FBSUFBZ0RBU0lBQWhFQkF4RUIvOFFBV1FBQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFZQkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFJRUVBRUJBQU1CQUFBQUFBQUFBQUFBQUFBQkFERUNBMEVSQUFFREJRQUFBQUFBQUFBQUFBQUFBQUFSSVRGQlVXRVNJdi9hQUF3REFRQUNFUU1SQUQ4QW9PblRWMVFURDdKSnNoUDN2U00zUC8vWikgcmVwZWF0IHRvcCBsZWZ0O1xufVxuXG4uZGVidWctZ3JpZC0xNi1zb2xpZCB7XG4gIGJhY2tncm91bmQ6d2hpdGUgdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBSUFBQUNRa1dnMkFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeWhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRTFoWTJsdWRHOXphQ2tpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TnpZM01rSkVOMFUyTjBNMU1URkZOa0l5UWtORk1qUXdPREV3TURJeE56RWlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOelkzTWtKRU4wWTJOME0xTVRGRk5rSXlRa05GTWpRd09ERXdNREl4TnpFaVBpQThlRzF3VFUwNlJHVnlhWFpsWkVaeWIyMGdjM1JTWldZNmFXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzNOamN5UWtRM1F6WTNRelV4TVVVMlFqSkNRMFV5TkRBNE1UQXdNakUzTVNJZ2MzUlNaV1k2Wkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvM05qY3lRa1EzUkRZM1F6VXhNVVUyUWpKQ1EwVXlOREE0TVRBd01qRTNNU0l2UGlBOEwzSmtaanBFWlhOamNtbHdkR2x2Ymo0Z1BDOXlaR1k2VWtSR1BpQThMM2c2ZUcxd2JXVjBZVDRnUEQ5NGNHRmphMlYwSUdWdVpEMGljaUkvUHZlNkoza0FBQUF6U1VSQlZIamFZdnovL3o4RDBVRHNNd01qU1JvWVA1R3E0U1BOYlJqVk1FUTFmQ1JEZytpbi82K0oxQUpVeHNnQUVHQUEzMUJBSk1TMEdZRUFBQUFBU1VWT1JLNUNZSUk9KSByZXBlYXQgdG9wIGxlZnQ7XG59XG4iXX0= */