.ff-helvetica {
  font-family: Helvetica, 'Helvetica Neue', Arial, sans-serif;
}
.ff-body {
  font-family: 'Open Sans', sans-serif;
}
.ff-header {
  font-family: 'Source Sans Pro', sans-serif;
}
.ff-source-sans-pro {
  font-family: 'Source Sans Pro', sans-serif;
}
.ff-open-sans {
  font-family: 'Open Sans', sans-serif;
}
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/* ==========================================================================
   WordPress Generated Classes
   See: http://codex.wordpress.org/CSS#WordPress_Generated_Classes
   ========================================================================== */
.aligncenter {
  display: block;
  margin: 0 auto;
}
.alignleft {
  float: left;
}
.alignright {
  float: right;
}
figure.alignnone {
  margin-left: 0;
  margin-right: 0;
}
/* WordPress Class Extensions */
.alignleft {
  margin-right: 35px;
}
.alignright {
  margin-left: 35px;
}
.clearfix:before,
.clearfix:after {
  content: ' ';
  display: table;
}
.clearfix:after {
  clear: both;
}
.visually-hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.center-content {
  width: 1180px;
  margin: 0 auto;
}
.plain-list {
  list-style-type: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
}
.same-height-columns {
  display: table;
}
.same-height-columns > [class*="col-"] {
  float: none;
  display: table-cell;
  vertical-align: top;
}
.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.col-xs-15 {
  width: 20%;
  float: left;
}
@media (min-width: 768px) {
  .col-sm-15 {
    width: 20%;
    float: left;
  }
}
@media (min-width: 992px) {
  .col-md-15 {
    width: 20%;
    float: left;
  }
}
@media (min-width: 1200px) {
  .col-lg-15 {
    width: 20%;
    float: left;
  }
}
#header {
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 0;
  margin-bottom: 0;
  vertical-align: top;
  height: 140px;
}
#header a#logo {
  margin-top: 0;
  margin-bottom: 0;
}
#header a#logo svg {
  height: 100px;
  width: 224px;
}
#header a#logo img {
  height: 100px;
  width: auto;
  padding-top: 0 !important;
}
#header nav#navigation {
  padding-top: 34px;
  margin-top: 0;
  margin-bottom: 0;
  flex-direction: row;
  align-items: center;
}
.skipNav {
  position: absolute;
  left: -10000px;
  font-size: 20px;
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 5px 0px;
  z-index: 10;
}
.skipNav:focus {
  left: 0px;
}
body.tax-product_brand div#main {
  width: 100%;
}
body ul.brands-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  float: left;
  display: inline-block;
  font-size: 0;
}
body ul.brands-list li {
  list-style: none;
  display: inline-block;
  padding: 5px 10px;
}
body ul.brands-list li:first-child {
  padding-left: 0;
}
body ul.brands-list li:last-child {
  padding-right: 0;
}
body ul.brands-list li {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  border-left: 1px solid #D9D9D9;
  padding: 0 22px;
  margin: 0;
  height: 68px;
  line-height: 68px;
  border-right: 1px solid #FFF;
  position: relative;
}
body ul.brands-list li:before {
  content: " ";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  border-radius: 0;
  border-left: 1px solid white;
}
body ul.brands-list li:first-child {
  margin: 0;
  padding: 0 22px;
}
body ul.brands-list li:last-child {
  margin: 0;
  border-right: 1px solid #D9D9D9;
  padding: 0 22px;
}
body ul.brands-list li:last-child:after {
  content: " ";
  position: absolute;
  z-index: 0;
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  border-radius: 0;
  border-right: 1px solid white;
}
body ul.brands-list li:hover {
  background-color: #E6E6E6;
}
body ul.brands-list li a {
  display: block;
}
body ul.brands-list li a svg {
  width: 80px;
  height: 60px;
}
body ul.brands-list li a img {
  vertical-align: middle;
  width: 70px;
}
body #top {
  height: auto;
  background-repeat: repeat;
  background-image: url(/assets/images/top-bg.png);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  z-index: 500;
  position: relative;
}
body #top nav .mobile-brands-nav {
  display: none;
}
body #top ul.wc-nav {
  height: 68px;
}
body #top ul.wc-nav li a {
  color: #4b4b4b;
}
body #top ul.wc-nav li a:hover {
  color: black;
}
body #top ul.wc-nav li.cart,
body #top ul.wc-nav li.checkout {
  height: 100%;
  padding-top: 10px;
}
body #top ul.wc-nav li.cart a span.contents {
  color: #FFF;
  background: #4b4b4b;
}
body .header_wrap {
  margin: 0 -3.631em;
  padding: 0 3.631em;
}
body .header_wrap #header {
  border: none;
}
body .header_wrap #header .show-brands-nav {
  display: none;
}
body .header_wrap #header .mobile-nav {
  display: none;
}
body .header_wrap #header #navigation ul#main-nav {
  display: inline-block;
  width: auto;
  margin-left: 200px;
  float: none;
}
body .header_wrap #header #navigation ul#main-nav li a {
  color: #95062f;
  font-size: 19px;
}
body .header_wrap #header #navigation ul#main-nav li:hover a {
  background: #DDD;
}
body .header_wrap #header #navigation ul#main-nav li.current-menu-item a {
  color: #95062f;
  background: #DDD;
}
body .header_wrap #header #navigation li.search {
  display: inline-block;
  vertical-align: top;
}
body .header_wrap #header #navigation li.search form {
  margin: 0;
}
body .header_wrap #header #navigation li.search form label {
  display: none;
}
body .header_wrap #header #navigation li.search form input[type="search"] {
  border-radius: 4px;
  box-shadow: none;
}
body .header_wrap #header #navigation li.search form input[type="submit"] {
  display: none;
}
body #main li.product a:hover h3 {
  color: #95062f;
}
body.brand-kandoo .header_wrap {
  background-color: #50B748;
}
body.brand-kandoo #header a#logo svg {
  width: 153px;
}
body.brand-kandoo #header #navigation ul#main-nav li a {
  color: #FFF;
  background: transparent;
  border: none;
}
body.brand-kandoo #header #navigation ul#main-nav li:hover a {
  background: #acba00;
}
body.brand-kandoo #main li.product a:hover h3 {
  color: #acba00;
}
body.brand-boogie-wipes .header_wrap {
  background: #EA712A;
}
body.brand-boogie-wipes #header a#logo img {
  padding-top: 20px;
}
body.brand-boogie-wipes #header #navigation ul#main-nav li a {
  color: #FFF;
  background: transparent;
  border: none;
  font-size: 19px;
}
body.brand-boogie-wipes #header #navigation ul#main-nav li:hover a {
  background: #d3611e;
}
body.brand-boogie-wipes #main li.product a:hover h3 {
  color: #d3611e;
}
body.brand-dreft .header_wrap {
  background: #DB727B;
}
body.brand-dreft #header a#logo img {
  margin-top: 7px;
  height: 84px;
}
body.brand-dreft #header #navigation ul#main-nav li a {
  color: #FFF;
  background: transparent;
  border: none;
}
body.brand-dreft #header #navigation ul#main-nav li:hover a {
  background: #ba6169;
}
body.brand-dreft #main li.product a:hover h3 {
  color: #ba6169;
}
body.brand-downy .header_wrap {
  background: #17294b;
}
body.brand-downy #header a#logo img {
  padding-top: 23px;
}
body.brand-downy #header #navigation ul#main-nav li a {
  color: #FFF;
  background: transparent;
  border: none;
}
body.brand-downy #header #navigation ul#main-nav li:hover a {
  background: #0f1a30;
}
body.brand-downy #main li.product a:hover h3 {
  color: #0f1a30;
}
body.brand-febreze .header_wrap {
  background: url(/assets/images/febreze-bg.png) repeat;
  background-size: cover;
}
body.brand-febreze #header a#logo img {
  padding-top: 35px;
}
body.brand-febreze #header #navigation ul#main-nav li a {
  color: #FFF;
  background: transparent;
  border: none;
}
body.brand-febreze #header #navigation ul#main-nav li:hover a {
  background: #1275b4;
}
body.brand-febreze #main li.product a:hover h3 {
  color: #1275b4;
}
#footer {
  color: #717171;
}
.home section#main {
  width: 100%;
}
.home section#main .wb-col-md-12 {
  width: 33%;
}
@media screen and (max-width: 1024px) {
  .home section#main .wb-col-md-12 {
    width: 100%;
  }
}
#content {
  min-height: 500px;
  padding-top: 30px;
}
#main h1 {
  font-weight: 400;
  font-size: 32px;
  color: #353535;
}
#main h2 {
  color: #353535;
  font-weight: 600;
  font-size: 22px;
}
#main .wb-thumb-title a {
  color: #353535;
  font-weight: 600;
  font-size: 22px;
  font-family: 'Source Sans Pro', sans-serif;
}
#main .wb-thumb-title a:hover {
  color: #95062f;
}
ul.products li.product .price {
  color: #717171;
}
.sticky-cta {
  width: 100%;
  display: none;
  z-index: 200;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
}
.sticky-cta .row {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  padding: 1rem;
  box-shadow: 0 -2px 15px 2px rgba(0, 0, 0, 0.05);
  background-color: #fff;
}
.sticky-cta .left {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.sticky-cta .left a {
  font-size: 15px;
  color: #95062f;
}
.sticky-cta p {
  margin: 0;
  margin-right: 0.5rem;
  line-height: 1.3125rem;
  font-weight: 700;
  font-size: 16px;
}
.sticky-cta button {
  font-size: 16px;
  background-color: #4b4b4b;
  color: #fff;
  font-weight: 600;
  border: none;
  border-radius: 5px;
  padding: 5px 10px;
}
@media only screen and (max-width: 768px) {
  .sticky-cta .left {
    flex-direction: column;
    padding: 1rem;
    align-items: flex-start;
  }
  .sticky-cta .left a {
    font-size: 14px;
  }
  .sticky-cta p {
    margin-bottom: 0.5rem;
    margin-right: 0;
    font-size: 14px;
    line-height: 1.5rem;
  }
}
.single-product .summary .price:first-child,
.single-product .summary .product_meta {
  color: #717177;
}
.woocommerce-tabs ul.tabs li.active a {
  color: #717171;
}
.price ins,
.required {
  color: #B15B52;
}
.container {
  max-width: 1180px;
  margin: 0 auto;
}
.container:before,
.container:after {
  content: ' ';
  display: table;
}
.container:after {
  clear: both;
}
.row {
  margin-left: -10px;
  margin-right: -10px;
}
.one-half {
  display: inline;
  float: left;
  width: 50%;
  padding: 0 10px;
  min-height: 1px;
}
.one-fourth {
  display: inline;
  float: left;
  width: 25%;
  padding: 0 10px;
  min-height: 1px;
}
.three-fourth {
  display: inline;
  float: left;
  width: 75%;
  padding: 0 10px;
  min-height: 1px;
}
.one-third {
  display: inline;
  float: left;
  width: 33.33333333%;
  padding: 0 10px;
  min-height: 1px;
}
.two-third {
  display: inline;
  float: left;
  width: 66.66666667%;
  padding: 0 10px;
  min-height: 1px;
}
.full-width {
  display: inline;
  float: left;
  width: 100%;
  padding: 0 10px;
  min-height: 1px;
}
*,
*:before,
*:after {
  box-sizing: border-box;
}
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.3;
  color: #333;
  -webkit-font-smoothing: antialiased;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Source Sans Pro', sans-serif;
}
.hidden {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .one-half,
  .one-fourth,
  .three-fourth,
  .one-third,
  .two-third,
  .full-width {
    width: 100%;
    padding: 0;
    display: block;
    float: none;
  }
  .row {
    margin-left: 0;
    margin-right: 0;
  }
  .container {
    max-width: 95%;
  }
  body {
    min-width: 0;
  }
  .single-product .summary {
    width: 100%;
  }
  .woocommerce_result_count,
  .woocommerce_ordering,
  .woocommerce-result-count,
  .woocommerce-ordering {
    width: 100%;
  }
  .woocommerce-ordering {
    float: none;
    text-align: left;
  }
  body {
    position: relative;
  }
  body #top {
    height: auto;
    background-repeat: repeat;
    background-image: none;
    padding: 0;
    background-color: #FFF;
  }
  body #top nav {
    display: none;
  }
  body #top nav ul.wc-nav {
    padding: 0.8em 1.631em;
    display: none;
  }
  body #top nav ul.wc-nav li.cart {
    width: 45px;
    vertical-align: top;
  }
  body #top nav ul.wc-nav li.cart a {
    padding: 0;
  }
  body #top nav ul.wc-nav li.cart a span.contents {
    display: inline;
    background: none;
    color: #353535;
  }
  body #top nav ul.wc-nav li.cart a span.amount {
    display: none;
  }
  body #top nav ul.wc-nav li.mobile-logo {
    vertical-align: top;
  }
  body #top nav ul.wc-nav li.mobile-logo a svg {
    width: 100px;
    height: 40px;
  }
  body #top nav ul.wc-nav li.checkout {
    display: inline-block;
    vertical-align: top;
  }
  body #top nav ul.wc-nav li.checkout a:before {
    font-family: 'WebSymbolsRegular';
    display: inline-block;
    margin-right: 0.618em;
    content: ")";
    font-weight: normal;
  }
  body #top nav ul.wc-nav li a {
    padding: 0 1em;
  }
  body .header_wrap {
    margin: 0 -1.631em 10px;
    padding: 0 4%;
  }
  body .header_wrap #header {
    margin-bottom: 0;
    padding: 5px 0px 6px;
    height: 70px;
  }
  body .header_wrap #header hgroup {
    vertical-align: top;
  }
  body .header_wrap #header hgroup .show-brands-nav {
    display: block;
  }
  body .header_wrap #header hgroup a.cart-parent {
    padding: 0;
    display: inline-block;
    width: 15%;
    font-size: 20px;
    vertical-align: top;
    padding-top: 5px;
  }
  body .header_wrap #header hgroup a.cart-parent span.contents {
    vertical-align: top;
    display: inline;
    background: none;
    color: #353535;
  }
  body .header_wrap #header hgroup a.cart-parent span.amount {
    display: none;
  }
  body .header_wrap #header hgroup a.cart-parent:before {
    vertical-align: top;
    font-family: 'WebSymbolsRegular';
    display: inline-block;
    font-size: 0.857em;
    margin-right: 0.218em;
    font-family: "icomoon";
    font-size: 1em;
    content: "£";
    font-weight: normal;
  }
  body .header_wrap #header hgroup a#logo {
    display: inline-block;
    float: none;
    text-align: center;
  }
  body .header_wrap #header hgroup a#logo svg {
    width: 100px;
    height: 40px;
  }
  body .header_wrap #header hgroup a#logo img {
    width: 100px;
    height: auto;
    padding-top: 0;
  }
  body .header_wrap #header hgroup a.show-brands-nav {
    float: right;
    width: 15%;
    margin-right: 0;
    text-align: right;
    padding-top: 5px;
  }
  body .header_wrap #header hgroup a.show-brands-nav i {
    font-size: 30px;
    color: #353535;
    transition: all 0.4s ease-out;
    font-weight: 400;
  }
  body .header_wrap #header hgroup a.show-brands-nav i:hover {
    color: black;
  }
  body .header_wrap #header hgroup a.show-brands-nav.open {
    margin-right: -12px;
  }
  body .header_wrap #header hgroup a.show-brands-nav.open i {
    font-size: 22px;
    margin-right: 12px;
  }
  body .header_wrap #header .mobile-nav {
    position: fixed;
    height: 100%;
    top: 0;
    left: 100%;
    right: auto;
    background: #f2f4f6;
    width: 87%;
    z-index: 5;
    display: block;
    border-left: 1px solid #DDD;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu ul.ul_search {
    list-style-type: none;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu ul.ul_search .search {
    padding: 12px 10px;
    border-bottom: 1px solid #DDD;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu ul.ul_search .search form {
    position: relative;
    margin-bottom: 0;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu ul.ul_search .search form * {
    box-sizing: border-box;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu ul.ul_search .search form label {
    display: none;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu ul.ul_search .search form input[type="search"] {
    box-shadow: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu ul.ul_search .search form #searchsubmit {
    display: none;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu #mobile-nav {
    list-style-type: none;
    margin-top: 0;
    margin-bottom: 0;
    float: none;
    padding-left: 0;
    padding-right: 0;
    background-color: #f1f1f1;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu #mobile-nav li {
    padding-left: 10px;
    padding-right: 10px;
    border-bottom: 1px solid #DDD;
    padding: 12px 10px;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu #mobile-nav li.menu-item {
    color: #333333;
    font-weight: 700;
    font-size: 16px;
    font-family: 'Source Sans Pro', sans-serif;
    background-image: url(/assets/images/chevron.png);
    background-position: 95% center;
    background-repeat: no-repeat;
    background-size: 10px 15px;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu #mobile-nav li.menu-item a {
    color: #333333;
    padding: 0;
  }
  body .header_wrap #header .mobile-nav .mobile-nav-menu #mobile-nav li.menu-item a:hover {
    color: #333333;
  }
  body .header_wrap #header .mobile-nav .mobile-more-brands {
    background-color: #DDD;
  }
  body .header_wrap #header .mobile-nav .mobile-more-brands h4 {
    color: #646464;
    font-weight: 600;
    font-size: 16px;
    font-family: 'Source Sans Pro', sans-serif;
    padding-left: 10px;
    padding-right: 10px;
    line-height: normal;
    padding-top: 12px;
    padding-bottom: 12px;
    margin-bottom: 0;
  }
  body .header_wrap #header .mobile-nav ul.brands-list {
    text-align: left;
    display: block;
    width: 100%;
  }
  body .header_wrap #header .mobile-nav ul.brands-list li {
    width: 50%;
    border: none;
    border-right: 1px solid #DDD;
    border-bottom: 1px solid #DDD;
    border-top: 1px solid #FFF;
    border-left: 1px solid #FFF;
  }
  body .header_wrap #header .mobile-nav ul.brands-list li:last-child {
    border-right: 1px solid #DDD;
  }
  body .header_wrap #header .mobile-nav ul.brands-list li a {
    text-align: center;
  }
  body .header_wrap #header .mobile-nav ul.brands-list li:hover {
    background-color: #FFF;
  }
  body .header_wrap #header a#logo {
    margin-top: 0;
  }
  body .header_wrap #header a#logo svg {
    height: 50px;
    width: 85px;
  }
  body .header_wrap #header .nav-toggle {
    display: none;
  }
  body.brand-febreze .header_wrap #header hgroup a.cart-parent,
  body.brand-downy .header_wrap #header hgroup a.cart-parent {
    color: #FFF;
  }
  body.brand-febreze .header_wrap #header hgroup a.cart-parent span,
  body.brand-downy .header_wrap #header hgroup a.cart-parent span {
    color: #FFF;
  }
  body.brand-febreze .header_wrap #header hgroup .show-brands-nav i,
  body.brand-downy .header_wrap #header hgroup .show-brands-nav i {
    color: #FFF;
  }
  body.brand-febreze .header_wrap #header hgroup .show-brands-nav i:hover,
  body.brand-downy .header_wrap #header hgroup .show-brands-nav i:hover {
    color: #FFF;
  }
  #content {
    padding-top: 0;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbmZpZy9fdHlwb2dyYXBoeS5sZXNzIiwidmVuZG9yL19ub3JtYWxpemUubGVzcyIsInZlbmRvci9fd29yZHByZXNzLmxlc3MiLCJtaXhpbnMvX2NvbW1vbi5sZXNzIiwidmlld3MvcGFydGlhbHMvX2hlYWRlci5sZXNzIiwidmlld3MvcGFydGlhbHMvX2Zvb3Rlci5sZXNzIiwidmlld3MvcGFnZXMvX3BhZ2UtaG9tZS5sZXNzIiwidmlld3MvX3BhZ2UubGVzcyIsInZpZXdzL3BhZ2VzL193b28ubGVzcyIsIm1vZHVsZXMvX2dyaWQubGVzcyIsIm1vZHVsZXMvX2VsZW1lbnRzLmxlc3MiLCJtYWluLmxlc3MiLCJtb2R1bGVzL19ncmlkQDc2OC5sZXNzIiwibW9kdWxlcy9fZWxlbWVudHNANzY4Lmxlc3MiLCJ2aWV3cy9wYXJ0aWFscy9faGVhZGVyQDc2OC5sZXNzIiwidmlld3MvX3BhZ2VANzY4Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx3QkFBd0IsbUNBQXhCOztBQUdGO0VBYUUsYUFBYSx1QkFBYjs7QUFURjtFQUtFLGFBQWEsNkJBQWI7O0FBREY7RUFDRSxhQUFhLDZCQUFiOztBQUdGO0VBQ0UsYUFBYSx1QkFBYjs7Ozs7Ozs7QUNURjtFQUNFLHVCQUFBOztFQUNBLDBCQUFBOztFQUNBLDhCQUFBOzs7Ozs7QUFPRjtFQUNFLFNBQUE7Ozs7Ozs7OztBQVlGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNFLGNBQUE7Ozs7OztBQVFGO0FBQ0E7QUFDQTtBQUNBO0VBQ0UscUJBQUE7O0VBQ0Esd0JBQUE7Ozs7Ozs7QUFRRixLQUFLLElBQUk7RUFDUCxhQUFBO0VBQ0EsU0FBQTs7Ozs7O0FBUUY7QUFDQTtFQUNFLGFBQUE7Ozs7Ozs7QUFVRjtFQUNFLHVCQUFBOzs7OztBQU9GLENBQUM7QUFDRCxDQUFDO0VBQ0MsVUFBQTs7Ozs7OztBQVVGLElBQUk7RUFDRix5QkFB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QUlFLFFBd09FLEVBQUM7SUFDQyxhQUFBOztFQXhUUixJQTJFRSxhQUlFLFFBd09FLEVBQUMsS0FHQztJQUNFLFlBQUE7SUFDQSxXQUFBOztFQTVUVixJQTJFRSxhQUlFLFFBaVBFO0lBQ0UsYUFBQTs7RUFNUixJQUFJLGNBR0YsYUFFRSxRQUVFLE9BRUUsRUFBQztFQVJULElBQUksWUFFRixhQUVFLFFBRUUsT0FFRSxFQUFDO0lBQ0MsV0FBQTs7RUFWVixJQUFJLGNBR0YsYUFFRSxRQUVFLE9BRUUsRUFBQyxZQUdDO0VBWFYsSUFBSSxZQUVGLGFBRUUsUUFFRSxPQUVFLEVBQUMsWUFHQztJQUNFLFdBQUE7O0VBYlosSUFBSSxjQUdGLGFBRUUsUUFFRSxPQVVFLGlCQUVFO0VBbEJWLElBQUksWUFFRixhQUVFLFFBRUUsT0FVRSxpQkFFRTtJQUNFLFdBQUE7O0VBRUEsSUF0QlIsY0FHRixhQUVFLFFBRUUsT0FVRSxpQkFFRSxFQUdHO0VBQUQsSUFyQlIsWUFFRixhQUVFLFFBRUUsT0FVRSxpQkFFRSxFQUdHO0lBQ0MsV0FBQTs7RUM5VmQ7SUFDRSxjQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLmZmLWhlbHZldGljYSB7XHJcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi5mZi1ib2R5IHtcclxuICAuZmYtb3Blbi1zYW5zO1xyXG59XHJcblxyXG4uZmYtaGVhZGVyIHtcclxuICAuZmYtc291cmNlLXNhbnMtcHJvO1xyXG59XHJcblxyXG4uZmYtc291cmNlLXNhbnMtcHJve1xyXG4gIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLmZmLW9wZW4tc2Fuc3tcclxuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbn1cclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXHJcblxyXG4vKipcclxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cclxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXHJcbiAqICAgIHVzZXIgem9vbS5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTEgYW5kIEZpcmVmb3guXHJcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXHJcbiAqL1xyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWFpbixcclxubmF2LFxyXG5zZWN0aW9uLFxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5hdWRpbyxcclxuY2FudmFzLFxyXG5wcm9ncmVzcyxcclxudmlkZW8ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxyXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXHJcbiAqL1xyXG5cclxuW2hpZGRlbl0sXHJcbnRlbXBsYXRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBMaW5rc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmEge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuYTphY3RpdmUsXHJcbmE6aG92ZXIge1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmFiYnJbdGl0bGVdIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuZGZuIHtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXHJcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXHJcbiAqL1xyXG5cclxubWFyayB7XHJcbiAgYmFja2dyb3VuZDogI2ZmMDtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnNtYWxsIHtcclxuICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICovXHJcblxyXG5pbWcge1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gKi9cclxuXHJcbnN2Zzpub3QoOnJvb3QpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDFlbSA0MHB4O1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGhlaWdodDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnByZSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5wcmUsXHJcbnNhbXAge1xyXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICBmb250LXNpemU6IDFlbTtcclxufVxyXG5cclxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxyXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xyXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBtYXJnaW46IDA7IC8qIDMgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxyXG4gKi9cclxuXHJcbmJ1dHRvbiB7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXHJcbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXHJcbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXHJcbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICovXHJcblxyXG5idXR0b25bZGlzYWJsZWRdLFxyXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlcjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxyXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cclxuICovXHJcblxyXG5pbnB1dCB7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cclxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cclxuICpcclxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cclxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxyXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXHJcbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcclxuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuICovXHJcblxyXG5maWVsZHNldCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcclxuICBtYXJnaW46IDAgMnB4O1xyXG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cclxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxyXG4gKi9cclxuXHJcbmxlZ2VuZCB7XHJcbiAgYm9yZGVyOiAwOyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxyXG4gKi9cclxuXHJcbm9wdGdyb3VwIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyogVGFibGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG50ZCxcclxudGgge1xyXG4gIHBhZGRpbmc6IDA7XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBXb3JkUHJlc3MgR2VuZXJhdGVkIENsYXNzZXNcclxuICAgU2VlOiBodHRwOi8vY29kZXgud29yZHByZXNzLm9yZy9DU1MjV29yZFByZXNzX0dlbmVyYXRlZF9DbGFzc2VzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYWxpZ25jZW50ZXIgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwIGF1dG87IH1cclxuLmFsaWdubGVmdCB7IGZsb2F0OiBsZWZ0OyB9XHJcbi5hbGlnbnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XHJcbmZpZ3VyZS5hbGlnbm5vbmUgeyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyB9XHJcblxyXG4vKiBXb3JkUHJlc3MgQ2xhc3MgRXh0ZW5zaW9ucyAqL1xyXG5cclxuLmFsaWdubGVmdCB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xyXG59XHJcblxyXG4uYWxpZ25yaWdodCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbn0iLCJcclxuLmdyYWRpZW50LWJ1dHRvbihAc3RhcnQtY29sb3I6cmVkLCBAaG92ZXItc3RhcnQtY29sb3I6IGRhcmtlbihyZWQsIDQlKSwgQGdyYWRpZW50LXBlcmNlbnQ6MTglLCBAZ3JhZGllbnQtaW52ZXJ0OmZhbHNlLCBAaG92ZXItZ3JhZGllbnQtaW52ZXJ0OmZhbHNlLCBAZG91YmxlLWJvcmRlcjpmYWxzZSwgQGRvdWJsZS1ib3JkZXItY29sb3I6bGlnaHRlbihyZWQsMTQpLCBAcm91bmQ6M3B4LCBAdGV4dC1jb2xvcjojRkZGLCBAcGFkZGluZzo2cHggMTJweCwgQGZvbnQtc2l6ZToxNHB4KXtcclxuICBAZW5kLWNvbG9yOiBkYXJrZW4oQHN0YXJ0LWNvbG9yLCBAZ3JhZGllbnQtcGVyY2VudCk7XHJcbiAgYm9yZGVyOiAxcHggZGFya2VuKEBlbmQtY29sb3IsIDQpIHNvbGlkO1xyXG4gIC5ncmFkaWVudChAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IsIEBzdGFydC1jb2xvcik7XHJcbiAgJiB3aGVuIChAZ3JhZGllbnQtaW52ZXJ0KXtcclxuICAgIC5ncmFkaWVudChAc3RhcnQtY29sb3IsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7XHJcbiAgfVxyXG4gIC5yb3VuZGVkKEByb3VuZCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcclxuICB0ZXh0LXNoYWRvdzogMCAwIDEycHggZGFya2VuKEBlbmQtY29sb3IsIDE1JSksIDAgMCAycHggZGFya2VuKEBlbmQtY29sb3IsIDI1JSk7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIHBhZGRpbmc6IEBwYWRkaW5nO1xyXG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcclxuICAudHJhbnNpdGlvbigwLjRzKTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICY6YmVmb3JlIHdoZW4gKEBkb3VibGUtYm9yZGVyID0gdHJ1ZSl7XHJcbiAgICAuZG91YmxlLWJvcmRlciggQHJvdW5kOkByb3VuZCwgQGJvcmRlci1jb2xvcjpAZG91YmxlLWJvcmRlci1jb2xvciApO1xyXG4gIH1cclxuXHJcbiAgQGhvdmVyLWVuZC1jb2xvcjogZGFya2VuKEBob3Zlci1zdGFydC1jb2xvciwgQGdyYWRpZW50LXBlcmNlbnQpO1xyXG4gICY6aG92ZXJ7XHJcbiAgICAuZ3JhZGllbnQoQGhvdmVyLXN0YXJ0LWNvbG9yLCBAaG92ZXItc3RhcnQtY29sb3IsIEBob3Zlci1lbmQtY29sb3IpO1xyXG4gICAgJiB3aGVuIG5vdChAZ3JhZGllbnQtaW52ZXJ0KXtcclxuICAgICAgJiB3aGVuIG5vdChAaG92ZXItZ3JhZGllbnQtaW52ZXJ0KXtcclxuICAgICAgICAuZ3JhZGllbnQoQGhvdmVyLXN0YXJ0LWNvbG9yLCBAaG92ZXItZW5kLWNvbG9yLCBAaG92ZXItc3RhcnQtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmIHdoZW4gKEBncmFkaWVudC1pbnZlcnQpe1xyXG4gICAgICAmIHdoZW4oQGhvdmVyLWdyYWRpZW50LWludmVydCl7XHJcbiAgICAgICAgLmdyYWRpZW50KEBob3Zlci1zdGFydC1jb2xvciwgQGhvdmVyLWVuZC1jb2xvciwgQGhvdmVyLXN0YXJ0LWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJvcmRlcjogMXB4IGRhcmtlbihAaG92ZXItZW5kLWNvbG9yLCA0KSBzb2xpZDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcclxuICAgIHRleHQtc2hhZG93OiAwIDAgMTJweCBkYXJrZW4oQGhvdmVyLWVuZC1jb2xvciwgMTUlKSwgMCAwIDJweCBkYXJrZW4oQGhvdmVyLWVuZC1jb2xvciwgMjUlKTtcclxuICAgIC5yb3VuZGVkKEByb3VuZCk7XHJcbiAgfVxyXG4gIFxyXG4gICY6YWN0aXZle1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjp2aXNpdGVke1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1c3tcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiBAdGV4dC1jb2xvciA7XHJcbiAgfVxyXG59XHJcblxyXG4uYm9yZGVyLWdyYWRpZW50KEBjb2xvcjpibGFjaywgQHdpZHRoOjFweCkge1xyXG4gIGJvcmRlci10b3A6IEB3aWR0aCBzb2xpZCBAY29sb3I7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBjb2xvciksIHRvKHRyYW5zcGFyZW50KSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzAwMCwgdHJhbnNwYXJlbnQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6XHJcbiAgLW1vei1saW5lYXItZ3JhZGllbnQoQGNvbG9yLCB0cmFuc3BhcmVudCksXHJcbiAgLW1vei1saW5lYXItZ3JhZGllbnQoQGNvbG9yLCB0cmFuc3BhcmVudCk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTpcclxuICAtby1saW5lYXItZ3JhZGllbnQoQGNvbG9yLCB0cmFuc3BhcmVudCksXHJcbiAgLW8tbGluZWFyLWdyYWRpZW50KEBjb2xvciwgdHJhbnNwYXJlbnQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IFxyXG4gIGxpbmVhci1ncmFkaWVudChAY29sb3IsIHRyYW5zcGFyZW50KSxcclxuICBsaW5lYXItZ3JhZGllbnQoQGNvbG9yLCB0cmFuc3BhcmVudCk7XHJcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IEB3aWR0aCAxMDAlO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogQHdpZHRoIDEwMCU7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCAxMDAlIDA7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXHJcbn1cclxuXHJcbi5kb3VibGUtYm9yZGVyKEByb3VuZDozcHgsIEBib3JkZXItY29sb3I6bGlnaHRlbihncmV5LDEwKSkge1xyXG4gIGNvbnRlbnQ6IFwiIFwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAwO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICAucm91bmRlZChAcm91bmQpO1xyXG4gIC5ib3JkZXItZ3JhZGllbnQoQGJvcmRlci1jb2xvcik7XHJcbn1cclxuXHJcbi5mbGF0LWJ1dHRvbihAYmctY29sb3I6cmVkLCBAaG92ZXItYmctY29sb3I6IGRhcmtlbihyZWQsNSksIEBib3JkZXItY29sb3I6IGRhcmtlbihyZWQsNCksIEBob3Zlci1ib3JkZXItY29sb3I6IGRhcmtlbihyZWQsMzApLCBAZG91YmxlLWJvcmRlcjpmYWxzZSwgQGRvdWJsZS1ib3JkZXItY29sb3I6bGlnaHRlbihyZWQsMTQpLCBAcm91bmQ6M3B4LCBAdGV4dC1jb2xvcjojRkZGLCBAaG92ZXItdGV4dC1jb2xvcjojRkZGLCBAcGFkZGluZzo2cHggMTJweCwgQGZvbnQtc2l6ZToxNHB4KXtcclxuICBib3JkZXI6IDFweCBAYm9yZGVyLWNvbG9yIHNvbGlkO1xyXG4gIC5yb3VuZGVkKEByb3VuZCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcclxuICB0ZXh0LXNoYWRvdzogMCAwIDEycHggZGFya2VuKEBiZy1jb2xvciwgMTUpLCAwIDAgMnB4IGRhcmtlbihAYmctY29sb3IsIDI1KTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgcGFkZGluZzogQHBhZGRpbmc7XHJcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xyXG4gIC50cmFuc2l0aW9uKDAuNHMpO1xyXG4gIGJhY2tncm91bmQ6IEBiZy1jb2xvcjtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcblxyXG4gICY6YmVmb3JlIHdoZW4gKEBkb3VibGUtYm9yZGVyID0gdHJ1ZSl7XHJcbiAgICAuZG91YmxlLWJvcmRlciggQHJvdW5kOkByb3VuZCwgQGJvcmRlci1jb2xvcjpAZG91YmxlLWJvcmRlci1jb2xvciApO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBob3Zlci1iZy1jb2xvcjtcclxuICAgIGJvcmRlcjogMXB4IEBob3Zlci1ib3JkZXItY29sb3Igc29saWQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjpAaG92ZXItdGV4dC1jb2xvcjtcclxuICAgIHRleHQtc2hhZG93OiAwIDAgMTJweCBkYXJrZW4oQGhvdmVyLWJnLWNvbG9yLCAxNSksIDAgMCAycHggZGFya2VuKEBob3Zlci1iZy1jb2xvciwgMjUpO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmV7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XHJcbiAgfVxyXG5cclxuICAmOnZpc2l0ZWR7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XHJcbiAgfVxyXG5cclxuICAmOmZvY3Vze1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yIDtcclxuICB9XHJcbn1cclxuXHJcbi5ncmFkaWVudChAY29sb3I6ICNGNUY1RjUsIEBzdGFydDogI0VFRSwgQHN0b3A6ICNGRkYpIHtcclxuICBiYWNrZ3JvdW5kOiBAY29sb3I7XHJcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsXHJcbiAgIGxlZnQgYm90dG9tLFxyXG4gICBsZWZ0IHRvcCxcclxuICAgY29sb3Itc3RvcCgwLCBAc3RhcnQpLFxyXG4gICBjb2xvci1zdG9wKDEsIEBzdG9wKSk7XHJcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sXHJcbiAgICBAc3RhcnQsXHJcbiAgICBAc3RvcCk7XHJcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSxcclxuICAgQHN0YXJ0IDAlLFxyXG4gICBAc3RvcCAxMDAlKTtcclxuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoQHN0b3AsXHJcbiAgIEBzdGFydCk7XHJcbiAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixAc3RvcCxAc3RhcnQpKTtcclxufVxyXG4uYnctZ3JhZGllbnQoQGNvbG9yOiAjRjVGNUY1LCBAc3RhcnQ6IDAsIEBzdG9wOiAyNTUpIHtcclxuICBiYWNrZ3JvdW5kOiBAY29sb3I7XHJcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsXHJcbiAgIGxlZnQgYm90dG9tLFxyXG4gICBsZWZ0IHRvcCxcclxuICAgY29sb3Itc3RvcCgwLCByZ2IoQHN0YXJ0LEBzdGFydCxAc3RhcnQpKSxcclxuICAgY29sb3Itc3RvcCgxLCByZ2IoQHN0b3AsQHN0b3AsQHN0b3ApKSk7XHJcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sXHJcbiAgICByZ2IoQHN0YXJ0LEBzdGFydCxAc3RhcnQpIDAlLFxyXG4gICAgcmdiKEBzdG9wLEBzdG9wLEBzdG9wKSAxMDAlKTtcclxuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChjZW50ZXIgYm90dG9tLFxyXG4gICByZ2IoQHN0YXJ0LEBzdGFydCxAc3RhcnQpIDAlLFxyXG4gICByZ2IoQHN0b3AsQHN0b3AsQHN0b3ApIDEwMCUpO1xyXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChyZ2IoQHN0b3AsQHN0b3AsQHN0b3ApLFxyXG4gICByZ2IoQHN0YXJ0LEBzdGFydCxAc3RhcnQpKTtcclxuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLHJnYihAc3RvcCxAc3RvcCxAc3RvcCkscmdiKEBzdGFydCxAc3RhcnQsQHN0YXJ0KSkpO1xyXG59XHJcbi5ib3JkZXJlZChAdG9wLWNvbG9yOiAjRUVFLCBAcmlnaHQtY29sb3I6ICNFRUUsIEBib3R0b20tY29sb3I6ICNFRUUsIEBsZWZ0LWNvbG9yOiAjRUVFKSB7XHJcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IEB0b3AtY29sb3I7XHJcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCBAbGVmdC1jb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCBAcmlnaHQtY29sb3I7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IEBib3R0b20tY29sb3I7XHJcbn1cclxuLmRyb3Atc2hhZG93KEB4LWF4aXM6IDAsIEB5LWF4aXM6IDFweCwgQGJsdXI6IDJweCwgQGFscGhhOiAwLjEpIHtcclxuICBib3gtc2hhZG93OiBAeC1heGlzIEB5LWF4aXMgQGJsdXIgcmdiYSgwLCAwLCAwLCBAYWxwaGEpO1xyXG59XHJcbi5yb3VuZGVkKEByYWRpdXM6IDJweCkge1xyXG4gIGJvcmRlci1yYWRpdXM6IEByYWRpdXM7XHJcbn1cclxuLmJvcmRlci1yYWRpdXMoQHRvcHJpZ2h0OiAwLCBAYm90dG9tcmlnaHQ6IDAsIEBib3R0b21sZWZ0OiAwLCBAdG9wbGVmdDogMCkge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAdG9wcmlnaHQ7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBib3R0b21yaWdodDtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm90dG9tbGVmdDtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAdG9wbGVmdDtcclxuICAuYmFja2dyb3VuZC1jbGlwKHBhZGRpbmctYm94KTtcclxufVxyXG4ub3BhY2l0eShAb3BhY2l0eTogMC41KSB7XHJcbiAgb3BhY2l0eTogQG9wYWNpdHk7XHJcbiAgQG9wcGVyYzogQG9wYWNpdHkgKiAxMDA7XHJcbiAgLW1zLWZpbHRlcjogflwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKG9wYWNpdHk9QHtvcHBlcmN9KVwiO1xyXG4gIGZpbHRlcjogflwiYWxwaGEob3BhY2l0eT1Ae29wcGVyY30pXCI7XHJcbn1cclxuLnRyYW5zaXRpb24tZHVyYXRpb24oQGR1cmF0aW9uOiAwLjJzKSB7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xyXG59XHJcbi50cmFuc2Zvcm0oLi4uKSB7XHJcbiAgdHJhbnNmb3JtOiBAYXJndW1lbnRzO1xyXG59XHJcbi5yb3RhdGlvbihAZGVnOjVkZWcpe1xyXG4gIC50cmFuc2Zvcm0ocm90YXRlKEBkZWcpKTtcclxufVxyXG4uc2NhbGUoQHJhdGlvOjEuNSl7XHJcbiAgLnRyYW5zZm9ybShzY2FsZShAcmF0aW8pKTtcclxufVxyXG4udHJhbnNpdGlvbihAZHVyYXRpb246MC4ycywgQGVhc2U6ZWFzZS1vdXQpIHtcclxuICB0cmFuc2l0aW9uOiBhbGwgQGR1cmF0aW9uIEBlYXNlO1xyXG59XHJcbi5pbm5lci1zaGFkb3coQGhvcml6b250YWw6MCwgQHZlcnRpY2FsOjFweCwgQGJsdXI6MnB4LCBAYWxwaGE6IDAuNCkge1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IEBob3Jpem9udGFsIEB2ZXJ0aWNhbCBAYmx1ciByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcbn1cclxuLmJveC1zaGFkb3coQGFyZ3VtZW50cykge1xyXG4gIGJveC1zaGFkb3c6IEBhcmd1bWVudHM7XHJcbn1cclxuLmJveC1zaXppbmcoQHNpemluZzogYm9yZGVyLWJveCkge1xyXG4gIGJveC1zaXppbmc6IEBzaXppbmc7XHJcbn1cclxuLnVzZXItc2VsZWN0KEBhcmd1bWVudDogbm9uZSkge1xyXG4gIHVzZXItc2VsZWN0OiBAYXJndW1lbnQ7XHJcbn1cclxuLmNvbHVtbnMoQGNvbHdpZHRoOiAyNTBweCwgQGNvbGNvdW50OiAwLCBAY29sZ2FwOiA1MHB4LCBAY29sdW1uUnVsZUNvbG9yOiAjRUVFLCBAY29sdW1uUnVsZVN0eWxlOiBzb2xpZCwgQGNvbHVtblJ1bGVXaWR0aDogMXB4KSB7XHJcbiAgY29sdW1uLXdpZHRoOiBAY29sd2lkdGg7XHJcbiAgY29sdW1uLWNvdW50OiBAY29sY291bnQ7XHJcbiAgY29sdW1uLWdhcDogQGNvbGdhcDtcclxuICBjb2x1bW4tcnVsZS1jb2xvcjogQGNvbHVtblJ1bGVDb2xvcjtcclxuICBjb2x1bW4tcnVsZS1zdHlsZTogQGNvbHVtblJ1bGVTdHlsZTtcclxuICBjb2x1bW4tcnVsZS13aWR0aDogQGNvbHVtblJ1bGVXaWR0aDtcclxufVxyXG4udHJhbnNsYXRlKEB4OjAsIEB5OjApIHtcclxuICAudHJhbnNmb3JtKHRyYW5zbGF0ZShAeCwgQHkpKTtcclxufVxyXG4uYmFja2dyb3VuZC1jbGlwKEBhcmd1bWVudDogcGFkZGluZy1ib3gpIHtcclxuICBiYWNrZ3JvdW5kLWNsaXA6IEBhcmd1bWVudDtcclxufVxyXG4uY2xlYXJmaXgge1xyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyAnO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgfVxyXG5cclxuICAmOmFmdGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG4uZm9udC1mYWNlIChAZmFtaWx5LCBAZmlsZS1iYXNlLCBAd2VpZ2h0OiBub3JtYWwsIEBzdHlsZTogbm9ybWFsKSB7XHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogQGZhbWlseTtcclxuICAgIHNyYzogdXJsKFwiQHtmaWxlLWJhc2V9LmVvdFwiKTtcclxuICAgIHNyYzogdXJsKFwiQHtmaWxlLWJhc2V9LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbiAgICB1cmwoXCJAe2ZpbGUtYmFzZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiQHtmaWxlLWJhc2V9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBAd2VpZ2h0O1xyXG4gICAgZm9udC1zdHlsZTogQHN0eWxlO1xyXG4gIH1cclxufVxyXG4udmlzdWFsbHktaGlkZGVuIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBjbGlwOiByZWN0KDAgMCAwIDApO1xyXG4gIGhlaWdodDogMXB4OyB3aWR0aDogMXB4O1xyXG4gIG1hcmdpbjogLTFweDsgcGFkZGluZzogMDsgYm9yZGVyOiAwO1xyXG59XHJcbi5jZW50ZXItY29udGVudHtcclxuICB3aWR0aDpAY29udGFpbmVyLXdpZHRoO1xyXG4gIG1hcmdpbjowIGF1dG87XHJcbn1cclxuXHJcbi5ob3Jpem9udGFsLWxpc3QoQHBhZGRpbmc6NXB4IDEwcHgpe1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuXHJcbiAgbGl7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogQHBhZGRpbmc7XHJcblxyXG4gICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFJlbW92ZXMgZGVmYXVsdCBzdHlsaW5nIGZyb20gbGlzdCAoPHVsPilcclxuLnBsYWluLWxpc3Qge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4udHJpYW5nbGUoQGRpcmVjdGlvbjpyaWdodCwgQHNpemU6NDBweCwgQGNvbG9yOiByZWQpe1xyXG4gIHdpZHRoOiAwOyBcclxuICBoZWlnaHQ6IDA7IFxyXG5cclxuICAmIHdoZW4gKEBkaXJlY3Rpb24gPSByaWdodCl7XHJcbiAgICBib3JkZXItdG9wOiBAc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IEBzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWxlZnQ6IEBzaXplIHNvbGlkIEBjb2xvcjtcclxuICB9XHJcblxyXG4gICYgd2hlbiAoQGRpcmVjdGlvbiA9IGxlZnQpe1xyXG4gICAgYm9yZGVyLXRvcDogQHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiBAc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodDogQHNpemUgc29saWQgQGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJiB3aGVuIChAZGlyZWN0aW9uID0gdXApe1xyXG4gICAgYm9yZGVyLWxlZnQ6IEBzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBAc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IEBzaXplIHNvbGlkIEBjb2xvcjtcclxuICB9XHJcblxyXG4gICYgd2hlbiAoQGRpcmVjdGlvbiA9IGRvd24pe1xyXG4gICAgYm9yZGVyLWxlZnQ6IEBzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBAc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci10b3A6IEBzaXplIHNvbGlkIEBjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LXNoYWRvdyhAYmctY29sb3I6IGJsYWNrKXtcclxuICB0ZXh0LXNoYWRvdzogMCAwIDEycHggZGFya2VuKEBiZy1jb2xvciwgMTUlKSwgMCAwIDJweCBkYXJrZW4oQGJnLWNvbG9yLCAyNSUpO1xyXG59XHJcblxyXG4uc2FtZS1oZWlnaHQtY29sdW1ucyB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuXHJcbiAgICA+W2NsYXNzKj1cImNvbC1cIl0ge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbC14cy0xNSxcclxuLmNvbC1zbS0xNSxcclxuLmNvbC1tZC0xNSxcclxuLmNvbC1sZy0xNSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG59XHJcblxyXG4uY29sLXhzLTE1IHtcclxuICAgIHdpZHRoOiAyMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuLmNvbC1zbS0xNSB7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgIC5jb2wtbWQtMTUge1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgLmNvbC1sZy0xNSB7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxufSIsIiNoZWFkZXJ7XHJcbiAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgaGVpZ2h0OiAxNDBweDtcclxuICBcclxuICBhI2xvZ297XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIFxyXG4gICAgc3Zne1xyXG4gICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICB3aWR0aDogMjI0cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGltZ3tcclxuICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuYXYjbmF2aWdhdGlvbntcclxuICAgIHBhZGRpbmctdG9wOiAzNHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAvLyBkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxufVxyXG4uc2tpcE5hdntcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogLTEwMDAwcHg7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGRpc3BsYXk6ZmxleDtcclxuICB3aWR0aDogMTAwJTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiA1cHggMHB4O1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIFxyXG4gICY6Zm9jdXMge1xyXG4gIGxlZnQ6IDBweDtcclxuICB9XHJcbiAgICAgICAgICBcclxufVxyXG5ib2R5LnRheC1wcm9kdWN0X2JyYW5ke1xyXG5cclxuXHRkaXYjbWFpbntcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuYm9keXtcclxuXHJcbiAgdWwuYnJhbmRzLWxpc3R7XHJcbiAgICAuaG9yaXpvbnRhbC1saXN0KCk7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuXHJcbiAgICBsaXsgXHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNEOUQ5RDk7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjJweDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBoZWlnaHQ6IDY4cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA2OHB4O1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRkZGO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZXtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHdoaXRlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxke1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDIycHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0Q5RDlEOTtcclxuICAgICAgICBwYWRkaW5nOiAwIDIycHg7XHJcblxyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVye1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFNkU2RTY7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGF7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgIHN2Z3tcclxuICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1ne1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcbiAgI3RvcHtcclxuICBcdGhlaWdodDogYXV0bztcclxuICBcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvdG9wLWJnLnBuZyk7XHJcbiAgICAuZHJvcC1zaGFkb3coQHgtYXhpczogMCwgQHktYXhpczogMXB4LCBAYmx1cjogMXB4LCBAYWxwaGE6IDAuMSk7XHJcbiAgICB6LWluZGV4OiA1MDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cclxuICAgIG5hdntcclxuXHJcbiAgICAgIC5tb2JpbGUtYnJhbmRzLW5hdntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgXHJcbiAgICB1bC53Yy1uYXZ7XHJcbiAgICAgIGhlaWdodDogNjhweDtcclxuICAgICAgXHJcbiAgICAgIGxpe1xyXG4gICAgICAgIFxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICBjb2xvcjogIzRiNGI0YjtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jYXJ0LCAmLmNoZWNrb3V0e1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBsaS5jYXJ0e1xyXG4gICAgICAgIFxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLmNvbnRlbnRze1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0YjRiNGI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmhlYWRlcl93cmFwe1xyXG4gICAgbWFyZ2luOiAwIC0zLjYzMWVtO1xyXG4gICAgcGFkZGluZzogMCAzLjYzMWVtO1xyXG5cclxuICAgICNoZWFkZXJ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgXHJcbiAgICAgIC5zaG93LWJyYW5kcy1uYXZ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1vYmlsZS1uYXZ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgI25hdmlnYXRpb257XHJcbiAgICAgICAgXHJcbiAgICAgICAgdWwjbWFpbi1uYXZ7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMDBweDtcclxuICAgICAgICAgIGZsb2F0OiBub25lO1xyXG5cclxuICAgICAgICAgIGxpe1xyXG5cclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICBjb2xvcjogIzk1MDYyZjtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcblxyXG4gICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjREREO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbXtcclxuXHJcbiAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTUwNjJmO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0RERDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpLnNlYXJjaHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gICAgICAgICAgZm9ybXtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgbGFiZWx7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXXtcclxuICAgICAgICAgICAgICAucm91bmRlZCg0cHgpO1xyXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAjbWFpbiBsaS5wcm9kdWN0e1xyXG4gICAgXHJcbiAgICBhe1xyXG4gICAgICBcclxuICAgICAgJjpob3ZlcntcclxuXHJcbiAgICAgICAgaDN7XHJcbiAgICAgICAgICBjb2xvcjogIzk1MDYyZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmJvZHkuYnJhbmQta2FuZG9ve1xyXG5cclxuICAuaGVhZGVyX3dyYXB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBCNzQ4O1xyXG4gIH1cclxuICBcclxuICAjaGVhZGVye1xyXG5cclxuICAgIGEjbG9nb3tcclxuXHJcbiAgICAgIHN2Z3tcclxuICAgICAgICB3aWR0aDogMTUzcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjbmF2aWdhdGlvbntcclxuXHJcbiAgICAgIHVsI21haW4tbmF2e1xyXG5cclxuICAgICAgICBsaXtcclxuXHJcbiAgICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgJjpob3ZlcntcclxuXHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2FjYmEwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBcclxuICAjbWFpbiBsaS5wcm9kdWN0e1xyXG4gICAgXHJcbiAgICBhe1xyXG4gICAgICBcclxuICAgICAgJjpob3ZlcntcclxuXHJcbiAgICAgICAgaDN7XHJcbiAgICAgICAgICBjb2xvcjogI2FjYmEwMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmJvZHkuYnJhbmQtYm9vZ2llLXdpcGVze1xyXG4gIFxyXG4gIC5oZWFkZXJfd3JhcHtcclxuICAgIGJhY2tncm91bmQ6ICNFQTcxMkE7XHJcbiAgfVxyXG4gIFxyXG4gICNoZWFkZXJ7XHJcblxyXG4gICAgYSNsb2dve1xyXG4gICAgICBcclxuICAgICAgaW1ne1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI25hdmlnYXRpb257XHJcbiAgXHJcbiAgICAgIHVsI21haW4tbmF2e1xyXG5cclxuICAgICAgICBsaXtcclxuXHJcbiAgICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDM2MTFlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gICNtYWluIGxpLnByb2R1Y3R7XHJcbiAgICBcclxuICAgIGF7XHJcbiAgICAgIFxyXG4gICAgICAmOmhvdmVye1xyXG5cclxuICAgICAgICBoM3tcclxuICAgICAgICAgIGNvbG9yOiAjZDM2MTFlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYm9keS5icmFuZC1kcmVmdHtcclxuICBcclxuICAuaGVhZGVyX3dyYXB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjREI3MjdCO1xyXG4gIH1cclxuICBcclxuICAjaGVhZGVyeyBcclxuXHJcbiAgICBhI2xvZ297XHJcblxyXG4gICAgICBpbWd7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xyXG4gICAgICAgIGhlaWdodDogODRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAjbmF2aWdhdGlvbntcclxuXHJcbiAgICAgIHVsI21haW4tbmF2e1xyXG5cclxuICAgICAgICBsaXtcclxuXHJcbiAgICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgJjpob3ZlcntcclxuXHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2JhNjE2OTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAjbWFpbiBsaS5wcm9kdWN0e1xyXG4gICAgXHJcbiAgICBhe1xyXG4gICAgICBcclxuICAgICAgJjpob3ZlcntcclxuXHJcbiAgICAgICAgaDN7XHJcbiAgICAgICAgICBjb2xvcjogI2JhNjE2OTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmJvZHkuYnJhbmQtZG93bnl7XHJcblxyXG4gIC5oZWFkZXJfd3JhcHtcclxuICAgIGJhY2tncm91bmQ6ICMxNzI5NGI7XHJcbiAgfVxyXG4gIFxyXG4gICNoZWFkZXJ7XHJcbiAgICBcclxuICAgIGEjbG9nb3tcclxuICAgICAgXHJcbiAgICAgIGltZ3tcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjNweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgI25hdmlnYXRpb257XHJcblxyXG4gICAgICB1bCNtYWluLW5hdntcclxuXHJcbiAgICAgICAgbGl7XHJcblxyXG4gICAgICAgICAgYXtcclxuICAgICAgICAgICAgY29sb3I6ICNGRkY7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpob3ZlcntcclxuXHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzBmMWEzMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAjbWFpbiBsaS5wcm9kdWN0e1xyXG4gICAgXHJcbiAgICBhe1xyXG4gICAgICBcclxuICAgICAgJjpob3ZlcntcclxuXHJcbiAgICAgICAgaDN7XHJcbiAgICAgICAgICBjb2xvcjogIzBmMWEzMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmJvZHkuYnJhbmQtZmVicmV6ZXtcclxuXHJcbiAgLmhlYWRlcl93cmFwe1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2ZlYnJlemUtYmcucG5nKSByZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuICBcclxuICAjaGVhZGVye1xyXG4gICAgXHJcbiAgICBhI2xvZ297XHJcbiAgICAgIFxyXG4gICAgICBpbWd7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgICNuYXZpZ2F0aW9ue1xyXG5cclxuICAgICAgdWwjbWFpbi1uYXZ7XHJcblxyXG4gICAgICAgIGxpe1xyXG5cclxuICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6aG92ZXJ7XHJcblxyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxMjc1YjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgI21haW4gbGkucHJvZHVjdHtcclxuICAgIFxyXG4gICAgYXtcclxuICAgICAgXHJcbiAgICAgICY6aG92ZXJ7XHJcblxyXG4gICAgICAgIGgze1xyXG4gICAgICAgICAgY29sb3I6ICMxMjc1YjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIiwiI2Zvb3RlciB7XG4gICAgY29sb3I6ICM3MTcxNzE7XG59IiwiLmhvbWV7XHJcblxyXG5cdHNlY3Rpb24jbWFpbntcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdC53Yi1jb2wtbWQtMTJ7XHJcblx0XHRcdHdpZHRoOiAzMyU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTAyNHB4KXtcclxuXHRcclxuXHQuaG9tZXtcclxuXHJcblx0XHRzZWN0aW9uI21haW57XHJcblxyXG5cdFx0XHQud2ItY29sLW1kLTEye1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHRcdCIsIlxyXG4jY29udGVudHtcclxuICBtaW4taGVpZ2h0OiA1MDBweDtcclxuICBwYWRkaW5nLXRvcDogMzBweDtcclxufVxyXG5cclxuI21haW57XHJcblxyXG4gIGgxe1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIGNvbG9yOiAjMzUzNTM1O1xyXG4gIH1cclxuXHJcbiAgaDJ7XHJcbiAgICBjb2xvcjogIzM1MzUzNTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgfVxyXG5cclxuICAud2ItdGh1bWItdGl0bGV7XHJcblxyXG4gICAgYXtcclxuICAgICAgY29sb3I6ICMzNTM1MzU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgLmZmLXNvdXJjZS1zYW5zLXBybygpO1xyXG5cclxuICAgICAgJjpob3ZlcntcclxuICAgICAgICBjb2xvcjogIzk1MDYyZjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gXHJcbn1cclxuXHJcbnVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIHtcclxuICBjb2xvcjogIzcxNzE3MTtcclxufVxyXG5cclxuLnN0aWNreS1jdGEge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgei1pbmRleDogMjAwO1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgYm90dG9tOiAwO1xyXG5cclxuICAucm93IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAxNXB4IDJweCByZ2JhKCMwMDAwMDAsIC4wNSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG5cclxuICAubGVmdCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGEge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgY29sb3I6ICM5NTA2MmY7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgcCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxuICBidXR0b24ge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRiNGI0YjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmxlZnQge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAgIFxyXG4gICAgICBwIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbn0iLCIuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLnByaWNlOmZpcnN0LWNoaWxkLCAuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLnByb2R1Y3RfbWV0YSB7XG4gICAgY29sb3I6ICM3MTcxNzc7XG59XG5cbi53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlIGEge1xuICAgIGNvbG9yOiAjNzE3MTcxO1xufVxuXG4ucHJpY2UgaW5zLCAucmVxdWlyZWQge1xuICAgIGNvbG9yOiAjQjE1QjUyO1xufSIsIkBncmlkLWd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoICogMC41O1xyXG5AZ3JpZC1wYWRkaW5nOiBAZ3JpZC1ndXR0ZXItd2lkdGggKiAwLjU7XHJcblxyXG4uY29sdW1uKEB4LCBAcGFkZGluZzogQGdyaWQtcGFkZGluZywgQGNvbHVtbnM6IEBncmlkLWNvbHVtbnMpIHtcclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgd2lkdGg6IDEwMCUgKiAoQHggLyBAY29sdW1ucyk7XHJcbiAgcGFkZGluZzogMCBAcGFkZGluZztcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbn1cclxuXHJcbi5wdXNoKEBvZmZzZXQ6IDEsIEBjb2x1bW5zOiBAZ3JpZC1jb2x1bW5zKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwMCUgKiAoQG9mZnNldCAvIEBjb2x1bW5zKTtcclxufVxyXG5cclxuLnB1bGwoQG9mZnNldDogMSwgQGNvbHVtbnM6IEBncmlkLWNvbHVtbnMpIHtcclxuICBtYXJnaW4tcmlnaHQ6IDEwMCUgKiAoQG9mZnNldCAvIEBjb2x1bW5zKTtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgLmNsZWFyZml4O1xyXG4gIG1heC13aWR0aDogQGNvbnRhaW5lci13aWR0aDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnJvdyB7XHJcbiAgbWFyZ2luLWxlZnQ6ICgtMSAqIEBncmlkLXBhZGRpbmcpO1xyXG4gIG1hcmdpbi1yaWdodDogKC0xICogQGdyaWQtcGFkZGluZyk7XHJcbn1cclxuXHJcbi5vbmUtaGFsZiB7XHJcbiAgLmNvbHVtbig2KTtcclxufVxyXG5cclxuLm9uZS1mb3VydGgge1xyXG4gIC5jb2x1bW4oMyk7XHJcbn1cclxuXHJcbi50aHJlZS1mb3VydGgge1xyXG4gIC5jb2x1bW4oOSk7XHJcbn1cclxuXHJcbi5vbmUtdGhpcmQge1xyXG4gIC5jb2x1bW4oNCk7XHJcbn1cclxuXHJcbi50d28tdGhpcmQge1xyXG4gIC5jb2x1bW4oOCk7XHJcbn1cclxuXHJcbi5mdWxsLXdpZHRoIHtcclxuICAuY29sdW1uKDEyKTtcclxufSIsIiosXHJcbio6YmVmb3JlLFxyXG4qOmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAvLyBtYXJnaW46IDA7XHJcbiAgLy8gcGFkZGluZzogMDtcclxuICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIC8vIG1pbi13aWR0aDogKEBncmlkLW1heC13aWR0aCArIEBncmlkLWd1dHRlci13aWR0aCk7XHJcbiAgLmZmLWJvZHk7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiBAZm9udC1saW5lLWhlaWdodDtcclxuICBjb2xvcjogQGZvbnQtY29sb3I7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IFxyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICAuZmYtaGVhZGVyO1xyXG59XHJcblxyXG4uaGlkZGVue1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuIiwiLy8gQ29uZmlndXJhdGlvblxyXG5AaW1wb3J0ICdjb25maWcvX3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJ2NvbmZpZy9fdHlwb2dyYXBoeSc7XHJcblxyXG4vLyBWZW5kb3JcclxuQGltcG9ydCAndmVuZG9yL19ub3JtYWxpemUnO1xyXG5AaW1wb3J0ICd2ZW5kb3IvX3dvcmRwcmVzcyc7XHJcblxyXG4vLyBNaXhpbnNcclxuQGltcG9ydCAnbWl4aW5zL19jb21tb24nO1xyXG5cclxuLy8gUGFydGlhbHNcclxuQGltcG9ydCAndmlld3MvcGFydGlhbHMvX2hlYWRlcic7XHJcbkBpbXBvcnQgJ3ZpZXdzL3BhcnRpYWxzL19mb290ZXInO1xyXG5cclxuXHJcbi8vIFBhZ2VzXHJcbkBpbXBvcnQgJ3ZpZXdzL3BhZ2VzL19wYWdlLWhvbWUnO1xyXG5AaW1wb3J0ICd2aWV3cy9fcGFnZSc7XHJcbkBpbXBvcnQgJ3ZpZXdzL3BhZ2VzL193b28nO1xyXG5cclxuXHJcbi8vIFZpc3VhbFxyXG5AaW1wb3J0ICdtb2R1bGVzL19ncmlkJztcclxuQGltcG9ydCAnbW9kdWxlcy9fZWxlbWVudHMnO1xyXG5cclxuLy8gQWRhcHRpdmVcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAvLyBWaXN1YWxcclxuICBAaW1wb3J0ICdtb2R1bGVzL19ncmlkQDc2OCc7XHJcbiAgQGltcG9ydCAnbW9kdWxlcy9fZWxlbWVudHNANzY4JztcclxuXHJcblx0Ly8gUGFydGlhbHNcclxuXHRAaW1wb3J0ICd2aWV3cy9wYXJ0aWFscy9faGVhZGVyQDc2OCc7XHJcblxyXG5cdC8vIFBhZ2VzXHJcblx0QGltcG9ydCAndmlld3MvX3BhZ2VANzY4JztcclxufSIsIi5vbmUtaGFsZixcclxuLm9uZS1mb3VydGgsXHJcbi50aHJlZS1mb3VydGgsXHJcbi5vbmUtdGhpcmQsXHJcbi50d28tdGhpcmQsXHJcbi5mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZsb2F0OiBub25lO1xyXG59XHJcblxyXG4ucm93IHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBtYXJnaW4tcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gIG1heC13aWR0aDogQGNvbnRhaW5lci13aWR0aC1hZGFwdGl2ZTtcclxufSIsImJvZHkge1xyXG4gIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5e1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ud29vY29tbWVyY2VfcmVzdWx0X2NvdW50LCAud29vY29tbWVyY2Vfb3JkZXJpbmcsIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZS1vcmRlcmluZ3tcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLndvb2NvbW1lcmNlLW9yZGVyaW5ne1xyXG5cdGZsb2F0OiBub25lO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn0iLCJib2R5e1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgI3RvcHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgLy8gbWFyZ2luOiAwIC0xLjYxOGVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcblxyXG5cclxuICAgIG5hdntcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcblxyXG4gICAgICBcclxuXHJcbiAgICAgIHVsLndjLW5hdntcclxuICAgICAgICBwYWRkaW5nOiAwLjhlbSAxLjYzMWVtO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIGxpLmNhcnR7XHJcbiAgICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gICAgICAgICAgYXtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgIHNwYW4uY29udGVudHN7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgY29sb3I6IEBkYXJrLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4uYW1vdW50e1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpLm1vYmlsZS1sb2dve1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAgICAgICBhe1xyXG5cclxuICAgICAgICAgICAgc3Zne1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkuY2hlY2tvdXR7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cclxuICAgICAgICAgIGE6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdXZWJTeW1ib2xzUmVndWxhcic7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNjE4ZW07XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiKVwiO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGl7XHJcblxyXG4gICAgICAgICAgYXtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaGVhZGVyX3dyYXB7XHJcbiAgICBtYXJnaW46IDAgLTEuNjMxZW0gMTBweDtcclxuICAgIHBhZGRpbmc6IDAgNCU7XHJcblxyXG4gICAgI2hlYWRlcntcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgcGFkZGluZzogNXB4IDBweCA2cHg7XHJcbiAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgXHJcbiAgICAgIGhncm91cHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cclxuICAgICAgICAuc2hvdy1icmFuZHMtbmF2e1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLmNhcnQtcGFyZW50e1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuXHJcbiAgICAgICAgICBzcGFuLmNvbnRlbnRze1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBAZGFyay1ncmV5O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHNwYW4uYW1vdW50e1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdXZWJTeW1ib2xzUmVndWxhcic7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuODU3ZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjIxOGVtO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIsKjXCI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhI2xvZ297XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICBzdmd7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyAubW9iaWxlLWJyYW5kcy1uYXZ7XHJcbiAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAvLyAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICNmMmY0ZjY7XHJcbiAgICAgICAgLy8gICBwYWRkaW5nOiAxZW0gMS42MzFlbTtcclxuICAgICAgICAvLyAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgLy8gICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgYS5zaG93LWJyYW5kcy1uYXZ7XHJcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG5cclxuICAgICAgICAgIGl7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgY29sb3I6IEBkYXJrLWdyZXk7XHJcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKDAuNHMpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLm9wZW57XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7XHJcblxyXG4gICAgICAgICAgICBpe1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tb2JpbGUtbmF2e1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZDogQGxpZ2h0LWdyZXk7XHJcbiAgICAgICAgd2lkdGg6IDg3JTtcclxuICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgQGdyZXk7XHJcblxyXG4gICAgICAgIC5tb2JpbGUtbmF2LW1lbnV7XHJcblxyXG4gICAgICAgICAgdWwudWxfc2VhcmNoe1xyXG4gICAgICAgICAgICAucGxhaW4tbGlzdCgpO1xyXG5cclxuICAgICAgICAgICAgLnNlYXJjaHtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBncmV5O1xyXG5cclxuICAgICAgICAgICAgICBmb3Jte1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAqe1xyXG4gICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxhYmVse1xyXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl17XHJcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgI3NlYXJjaHN1Ym1pdHtcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAjbW9iaWxlLW5hdntcclxuICAgICAgICAgICAgLnBsYWluLWxpc3QoKTtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0ZXItZ3JleTtcclxuXHJcbiAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAZ3JleTtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgJi5tZW51LWl0ZW17XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMzMzMztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAuZmYtc291cmNlLXNhbnMtcHJvKCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvY2hldnJvbi5wbmcpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTUlIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTVweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAubW9iaWxlLW1vcmUtYnJhbmRze1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGdyZXk7XHJcblxyXG4gICAgICAgICAgaDR7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNjQ2NDY0O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIC5mZi1zb3VyY2Utc2Fucy1wcm8oKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bC5icmFuZHMtbGlzdHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIEBncmV5O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyZXk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRkZGO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGRkY7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgQGdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEjbG9nb3tcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICAgICAgICBzdmd7XHJcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICB3aWR0aDogODVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uYXYtdG9nZ2xle1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmJvZHkuYnJhbmQtZmVicmV6ZSxcclxuYm9keS5icmFuZC1kb3dueXtcclxuXHJcbiAgLmhlYWRlcl93cmFwe1xyXG5cclxuICAgICNoZWFkZXJ7XHJcblxyXG4gICAgICBoZ3JvdXB7XHJcblxyXG4gICAgICAgIGEuY2FydC1wYXJlbnR7XHJcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcclxuXHJcbiAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zaG93LWJyYW5kcy1uYXZ7XHJcblxyXG4gICAgICAgICAgaXtcclxuICAgICAgICAgICAgY29sb3I6ICNGRkY7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiNjb250ZW50e1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG59Il0sImZpbGUiOiJtYWluLmNzcyJ9 */
