/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

html {
  box-sizing: border-box;
  font-size: 62.5%;
  background: #fff;
  /* stylelint-disable */
  overflow-x: hidden;
  /* stylelint-enable */ }

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

body {
  font-family: "Futura LT W04 Book1475802", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-overflow-scrolling: touch;
  margin: 0;
  font-size: 1.4rem;
  font-display: swap; }

button,
input,
textarea,
select {
  font-family: inherit; }

/* Hide HTML5 Up and Down arrows. */
input[type='number'] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield; }
  input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }

/* Hide HTML5 'X' in search input */
input[type='search'] {
  /* Clears the 'X' from Internet Explorer */
  /* Clears the 'X' from Chrome */ }
  input[type='search']::-ms-clear, input[type='search']::-ms-reveal {
    display: none;
    width: 0;
    height: 0; }
  input[type='search']::-webkit-search-decoration, input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-results-button, input[type='search']::-webkit-search-results-decoration {
    display: none; }

html {
  box-sizing: border-box;
  font-size: 62.5%;
  background: #fff;
  /* stylelint-disable */
  overflow-x: hidden;
  /* stylelint-enable */ }

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

body {
  font-family: "Futura LT W04 Book1475802", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-overflow-scrolling: touch;
  margin: 0;
  font-size: 1.4rem;
  font-display: swap; }

button,
input,
textarea,
select {
  font-family: inherit; }

/* Hide HTML5 Up and Down arrows. */
input[type='number'] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield; }
  input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }

/* Hide HTML5 'X' in search input */
input[type='search'] {
  /* Clears the 'X' from Internet Explorer */
  /* Clears the 'X' from Chrome */ }
  input[type='search']::-ms-clear, input[type='search']::-ms-reveal {
    display: none;
    width: 0;
    height: 0; }
  input[type='search']::-webkit-search-decoration, input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-results-button, input[type='search']::-webkit-search-results-decoration {
    display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-hide-laptop {
    display: none !important;
    /* stylelint-disable-line declaration-no-important */ } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-hide-tablet {
    display: none !important;
    /* stylelint-disable-line declaration-no-important */ } }

.cs-no-display {
  display: none !important;
  /* stylelint-disable-line declaration-no-important */ }

.cs-aspect-ratio {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%; }
  .cs-aspect-ratio__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner, .cs-container__reviews {
    max-width: 114rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__reviews:before, .cs-container__inner:after, .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 40%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 32%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 30%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 67%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
  .cs-container--noscroll {
    overflow: hidden; }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }

.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner, .cs-container__reviews {
    max-width: 114rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__reviews:before, .cs-container__inner:after, .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
    .cs-container__inner--flex {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media (min-width: 48em) {
        .cs-container__inner--flex {
          flex-wrap: nowrap; } }
      .cs-container__inner--flex:after {
        display: none; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 40%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 32%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 30%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 67%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .page-product-bundle .cs-container__main-column {
    width: 100%;
    margin-right: 0; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container__reviews {
    padding-bottom: 2rem; }
    @media (min-width: 48em) {
      .cs-container__reviews {
        background: #fff;
        margin-top: 3rem;
        padding: 0 2rem; } }
    @media (min-width: 90em) {
      .cs-container__reviews {
        padding: 2rem 0 0; } }
    .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__cart-coupons {
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 64em) {
      .cs-container__cart-coupons {
        flex-wrap: nowrap;
        justify-content: space-between; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--top-bar {
    background-color: #f0f0f0;
    max-width: none; }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
    @media (min-width: 48em) {
      .catalog-category-view .cs-container--spacious,
      .catalogsearch-result-index .cs-container--spacious {
        padding-top: 0; } }
  .cs-container--image-teaser-window-width, .cs-container--store-locator {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--grid-teaser {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden; }
  .cs-container--hero-teaser {
    overflow: hidden;
    padding-left: 0;
    padding-right: 0; }
  .cs-container--noscroll {
    overflow: hidden; }
  @media (min-width: 64em) {
    .cs-container--pdp {
      padding-top: 0; } }
  .cs-container--usps .cs-container--headline {
    padding: 0; }
  .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
        padding-top: 3rem;
        padding-bottom: 5rem; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-container--my-account-page {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }
  @media (max-width: 47.99em) {
    .cs-container--page-pdp-details-aw_pq_ajax_container {
      padding: 0; } }
  .cs-container--cart-page .cs-container--products-carousel {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cart-page .cs-container--headline {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cms-teaser {
    margin-top: 2rem; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-container--grid-teaser {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      overflow: visible; } }
  .cs-container--footer-usps .cs-image-teaser__content {
    margin: 0 !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

body,
html {
  height: 100%;
  max-width: 100vw; }

.no-scroll {
  position: fixed;
  width: 100vw;
  height: 100vh; }

.no-scroll-child {
  overflow-y: hidden !important; }

#maincontent {
  flex: 1 0 auto; }

.page-wrapper {
  display: block !important;
  min-height: 100%; }
  @media (min-width: 48em) {
    .page-wrapper {
      display: flex !important;
      flex-direction: column !important; } }

.columns .column.main {
  width: auto;
  padding: 4rem 0 0;
  max-width: 100%;
  min-height: 10rem; }
  @media (min-width: 48em) {
    .columns .column.main {
      padding: 4rem 0 0; } }

.cms-home .columns .column.main {
  padding: 0; }
  @media (min-width: 48em) {
    .cms-home .columns .column.main {
      padding: 0; } }

.page-layout-1column .product-info-wrapper {
  width: 100%; }
  @media (min-width: 48em) {
    .page-layout-1column .product-info-wrapper {
      position: absolute;
      right: 0;
      height: 100%;
      width: 40%; } }
  @media (min-width: 64em) {
    .page-layout-1column .product-info-wrapper {
      width: 30%; } }

@media (min-width: 48em) {
  .page-layout-2columns-left .sidebar-main,
  .page-layout-2columns-left .sidebar-additional {
    width: 22.5%;
    padding-right: 40px;
    border-right: 1px solid #f0f0f0; } }

a, a:visited {
  color: #2d3e50;
  text-decoration: none; }

a:hover, a:focus, a:active, a:visited:hover, a:visited:focus {
  color: #2d3e50;
  text-decoration: none; }

.gift-options-cart-item {
  display: none; }

@media (min-width: 48em) {
  .paypal-express-review .page-title-wrapper {
    padding: 0 1.5rem; } }

@media (max-width: 63.99em) {
  .paypal-review.view .cs-cart-item__price {
    padding-left: 0 !important; }
  .paypal-review.view .cs-cart-item__subtotal {
    padding-right: 0 !important; } }

@media (min-width: 48em) {
  .paypal-review.view {
    padding: 0 1.5rem; } }

.paypal-express-in-context-mini-cart-container {
  margin-top: 1rem; }

.paypal-review-discount {
  border-bottom: none; }

.amazon-button-container {
  max-width: 25rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 303; }
  @media (min-width: 48em) {
    .amazon-button-container {
      max-width: 32rem; } }
  .amazon-button-container img {
    margin-left: auto;
    margin-right: auto; }
  .amazon-button-container__cell:nth-child(2) {
    position: absolute;
    min-width: 3rem;
    left: calc(100% + 0.6rem);
    top: 1.9rem; }
    @media (max-width: 23.115em) {
      .amazon-button-container__cell:nth-child(2) {
        left: calc(100% + 0.8rem); } }
  .amazon-button-container__cell .field-tooltip-content {
    width: 25rem;
    box-sizing: border-box;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.17);
    border: none;
    font-size: 1.3rem;
    padding: 0.8rem; }
    @media (min-width: 30em) {
      .amazon-button-container__cell .field-tooltip-content {
        width: 28rem; } }
    .amazon-button-container__cell .field-tooltip-content:before {
      border-right-color: #888; }
    .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
    .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
      top: auto;
      bottom: 42px;
      left: -210px;
      right: auto; }
      @media (min-width: 48em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
          left: -250px; } }
      @media (min-width: 64em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
          left: -232px; } }
      .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
        top: calc(100% + 2rem);
        left: 210px;
        transform: rotate(-180deg); }
        @media (min-width: 48em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
            bottom: -10px;
            top: 100%;
            left: 250px;
            transform: rotate(-90deg); } }
        @media (min-width: 64em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
            left: 232px; } }
      .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
        left: 210px; }
        @media (max-width: 47.99em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            border-right-color: transparent; } }
        @media (min-width: 48em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            left: 251px;
            transform: rotate(-90deg); } }
        @media (min-width: 64em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            left: 233px; } }
      @media (min-width: 64em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
          transform: rotate(-90deg); } }
    @media (min-width: 48em) {
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before, .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
        top: calc(100% + 2rem);
        transform: rotate(180deg); } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-authorization-link {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 0.9rem;
  padding: 0 0 0 0.3rem; }
  @media (min-width: 64em) {
    .cs-authorization-link {
      padding: 0 0 0 1.3rem;
      margin-left: 1.7rem; } }
  .cs-authorization-link:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    content: '';
    border-left: 0.2rem solid #fff; }
  .cs-authorization-link__link {
    display: flex;
    align-items: center; }
    .cs-authorization-link__link, .cs-authorization-link__link:visited {
      color: #2d3e50;
      text-decoration: none; }
    .cs-authorization-link__link:hover, .cs-authorization-link__link:focus, .cs-authorization-link__link:active, .cs-authorization-link__link:visited:hover, .cs-authorization-link__link:visited:focus {
      color: #2d3e50;
      text-decoration: none; }
    .cs-authorization-link__link:hover .cs-authorization-link__icon path {
      fill: #888; }
  .cs-authorization-link__icon {
    width: 1.8rem;
    height: 1rem;
    padding-right: 0.5rem; }
    .cs-authorization-link__icon path {
      fill: #888; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-addtocart {
  /* stylelint-disable */
  /* stylelint-enable */ }
  .cs-addtocart__wrapper {
    overflow: hidden; }
  .cs-addtocart__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .cs-addtocart__button:hover, .cs-addtocart__button:focus, .cs-addtocart__button:active {
      background-color: #2d3e50 !important; }
    .cs-addtocart__button:before, .cs-addtocart__button:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-addtocart__button:before {
      width: 0;
      border-radius: 0 0px 0px 0;
      z-index: -1;
      background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
    .cs-addtocart__button:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-addtocart__button:hover:after {
      width: calc(100% + 2px); }
    .cs-addtocart__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-addtocart__button, .cs-addtocart__button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-addtocart__button *, .cs-addtocart__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-addtocart__button:hover:not([disabled]), .cs-addtocart__button:focus:not([disabled]), .cs-addtocart__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-addtocart__button:hover:not([disabled]) *, .cs-addtocart__button:focus:not([disabled]) *, .cs-addtocart__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-addtocart__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-addtocart__button[disabled] {
      opacity: 1; }
    .cs-addtocart__button .cs-addtocart__success-label, .cs-addtocart__button:hover .cs-addtocart__success-label, .cs-addtocart__button:focus .cs-addtocart__success-label, .cs-addtocart__button:active .cs-addtocart__success-label {
      color: #fff; }
    .cs-addtocart__button .cs-addtocart__success-icon *, .cs-addtocart__button:hover .cs-addtocart__success-icon *, .cs-addtocart__button:focus .cs-addtocart__success-icon *, .cs-addtocart__button:active .cs-addtocart__success-icon * {
      fill: #fff; }
    .cs-addtocart__button .cs-addtocart__fail-label, .cs-addtocart__button:hover .cs-addtocart__fail-label, .cs-addtocart__button:focus .cs-addtocart__fail-label, .cs-addtocart__button:active .cs-addtocart__fail-label {
      color: #fff; }
    .cs-addtocart__button .cs-addtocart__fail-icon *, .cs-addtocart__button:hover .cs-addtocart__fail-icon *, .cs-addtocart__button:focus .cs-addtocart__fail-icon *, .cs-addtocart__button:active .cs-addtocart__fail-icon * {
      fill: #fff; }
  .cs-addtocart__button-label, .cs-addtocart__success-label, .cs-addtocart__fail-label {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em;
    white-space: nowrap; }
  .cs-addtocart__configure-icon, .cs-addtocart__button-icon, .cs-addtocart__success-icon, .cs-addtocart__fail-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    max-width: none;
    max-height: none;
    width: 2.2rem;
    height: 2.2rem;
    /* stylelint-disable */
    right: 0.8em;
    /* stylelint-enable */ }
  .cs-addtocart__fail-icon {
    transition: none; }
  .cs-addtocart__button-label, .cs-addtocart__success-label {
    transition: opacity 0.15s linear, transform 1s cubic-bezier(0, 0.77, 0.18, 1); }
  .cs-addtocart__button-label {
    display: inline-block;
    transform: translate3d(0, 0, 0); }
  .cs-addtocart__loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: scale(0) translate3d(-50%, -50%, 0);
    width: 40px;
    height: 10px;
    opacity: 0;
    transition: opacity 0.15s linear, transform 1s cubic-bezier(0, 0.77, 0.18, 1);
    transition-delay: 0.2s; }
    .cs-addtocart__loading-ball {
      position: absolute;
      display: block;
      width: 10px;
      height: 10px;
      bottom: 0;
      background: #fff;
      border-radius: 50%; }
      .cs-addtocart__loading-ball--1 {
        left: 0; }
      .cs-addtocart__loading-ball--2 {
        left: 15px;
        -webkit-animation-delay: 0.15s !important;
                animation-delay: 0.15s !important; }
      .cs-addtocart__loading-ball--3 {
        left: 30px;
        -webkit-animation-delay: 0.3s !important;
                animation-delay: 0.3s !important; }
  .cs-addtocart__feedback-bg {
    position: absolute;
    left: -1em;
    top: -1px;
    bottom: -1px;
    width: calc(100% + 2.5em);
    transform: translate3d(-100%, 0, 0);
    transform-origin: 0 0;
    transition: transform 0.45s cubic-bezier(0.01, 0.65, 0.38, 1);
    background: #31a43a; }
    .cs-addtocart--no-transitions .cs-addtocart__feedback-bg {
      transition: none; }
    .cs-addtocart--fail .cs-addtocart__feedback-bg {
      background: #cc1c10; }
  .cs-addtocart__success-label, .cs-addtocart__success-icon, .cs-addtocart__fail-label, .cs-addtocart__fail-icon {
    opacity: 0; }
  .cs-addtocart__success-icon, .cs-addtocart__fail-icon {
    height: 1.725em;
    transition-delay: 0.2s; }
  .cs-addtocart__success-label, .cs-addtocart__fail-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0) translateX(-2em);
    transition-delay: 0.2s;
    white-space: nowrap;
    padding-right: 3.5rem; }
  .cs-addtocart__minicart {
    width: 100%;
    text-align: center; }
    .cs-addtocart__minicart--sticky, .cs-addtocart__minicart--unstick {
      max-width: 114rem;
      width: 100%;
      margin: 0 auto;
      width: 100%;
      position: fixed;
      top: 0;
      left: 50%;
      transform: translate3d(-50%, 0, 0);
      z-index: 400;
      padding: 0;
      text-align: right;
      display: flex;
      justify-content: flex-end; }
      .cs-addtocart__minicart--sticky .ui-dialog, .cs-addtocart__minicart--unstick .ui-dialog {
        right: 0 !important; }
      .cs-addtocart__minicart--sticky .block-minicart:after, .cs-addtocart__minicart--unstick .block-minicart:after {
        right: 3.2rem !important; }
  .cs-addtocart__minicart--sticky .cs-addtocart__minicart-link,
  .cs-addtocart__minicart--unstick .cs-addtocart__minicart-link {
    text-align: center;
    padding: 2.5rem 1rem;
    background: #fff;
    box-shadow: 1px 3px 4.5rem 0 rgba(30, 48, 67, 0.34);
    -webkit-animation: minicart-in 1s cubic-bezier(0, 0.77, 0.18, 1);
            animation: minicart-in 1s cubic-bezier(0, 0.77, 0.18, 1);
    position: relative; }
  .cs-addtocart__minicart--unstick .cs-addtocart__minicart-link {
    -webkit-animation: minicart-out 0.5s cubic-bezier(0.55, 0.2, 0.89, 0.45);
            animation: minicart-out 0.5s cubic-bezier(0.55, 0.2, 0.89, 0.45); }
  .cs-addtocart__minicart-link:before {
    content: none !important; }
  .cs-addtocart__minicart-qty-badge-wrapper {
    position: absolute;
    opacity: 0;
    z-index: 600;
    transition: top 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93), left 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93);
    pointer-events: none; }
    .cs-addtocart__minicart-qty-badge-wrapper--animating {
      -webkit-animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
              animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
      position: fixed;
      top: 0.5rem; }
      @media (min-width: 48em) {
        .cs-addtocart__minicart-qty-badge-wrapper--animating {
          top: 1.3rem; } }
      @media (min-width: 64em) {
        .cs-addtocart__minicart-qty-badge-wrapper--animating {
          position: absolute;
          top: 5.3rem; } }
      .cs-addtocart__minicart-qty-badge-wrapper--animating.cs-addtocart__minicart-qty-badge-wrapper--minicart-sticky {
        position: fixed;
        top: 1.8rem; }
    .cs-addtocart__minicart-qty-badge-wrapper .cs-addtocart__minicart-qty-badge {
      position: static;
      visibility: visible; }
  .cs-addtocart--loading .cs-addtocart__button-label, .cs-addtocart--done .cs-addtocart__button-label {
    opacity: 0;
    transform: translate3d(2em, 0, 0); }
  .cs-addtocart--loading .cs-addtocart__loading {
    opacity: 1;
    transform: scale(1) translate3d(-50%, -50%, 0) translateX(-1.25em); }
    .cs-addtocart--loading .cs-addtocart__loading-ball {
      -webkit-animation: ball-in 1s infinite;
              animation: ball-in 1s infinite; }
  .cs-addtocart--done .cs-addtocart__button-icon {
    opacity: 0; }
  .cs-addtocart--done .cs-addtocart__feedback-bg {
    transform: translate3d(0, 0, 0); }
    .cs-addtocart--done .cs-addtocart__feedback-bg:after {
      transform: translate3d(-5.3rem, 0, 0); }
  .cs-addtocart--success .cs-addtocart__success-icon {
    opacity: 1; }
  .cs-addtocart--success .cs-addtocart__success-label {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0); }
  .cs-addtocart--fail .cs-addtocart__fail-icon {
    opacity: 1; }
  .cs-addtocart--fail .cs-addtocart__fail-label {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0); }
  .cs-addtocart--animation-done .cs-addtocart__button-label,
  .cs-addtocart--animation-done .cs-addtocart__button-icon {
    transition-delay: 0.5s; }
  .cs-addtocart--animation-done .cs-addtocart__feedback-bg {
    transition-delay: 0.2s; }
    .cs-addtocart--animation-done .cs-addtocart__feedback-bg, .cs-addtocart--animation-done .cs-addtocart__feedback-bg:after {
      transition: transform 0.4s cubic-bezier(0.86, 0.01, 0.83, 0.51); }
    .cs-addtocart--animation-done .cs-addtocart__feedback-bg:after {
      transition-delay: 0; }
  .cs-addtocart--animation-done .cs-addtocart__success-label,
  .cs-addtocart--animation-done .cs-addtocart__fail-icon {
    transition: opacity 0.6s linear, transform 0.6s cubic-bezier(0.86, 0.01, 0.83, 0.51);
    transition-delay: 0; }
  .cs-addtocart--animation-done .cs-addtocart__success-icon,
  .cs-addtocart--animation-done .cs-addtocart__fail-icon {
    transition-delay: 0; }

@-webkit-keyframes ball-in {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes ball-in {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes minicart-in {
  0% {
    transform: translate3d(0, -100%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@keyframes minicart-in {
  0% {
    transform: translate3d(0, -100%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes minicart-out {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(0, -100%, 0); } }

@keyframes minicart-out {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(0, -100%, 0); } }

@-webkit-keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  80% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }

@keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  80% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }
  .cs-addtocart .block-minicart {
    margin-bottom: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
.cs-autocomplete {
  width: 100%;
  top: 100%;
  left: 0;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.17);
  z-index: 200;
  margin-top: -1px; }
  .cs-autocomplete .autocomplete-list dd, .cs-autocomplete__item {
    background: #fff;
    padding: 0.5rem 1rem;
    margin: 0;
    border-bottom: 1px solid #dcdcdc;
    display: flex;
    align-items: center;
    transition: background-color 0.15s linear;
    font-size: 1.29rem; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-autocomplete .autocomplete-list dd, .cs-autocomplete__item {
    padding: 1rem; } }
    .cs-autocomplete .autocomplete-list dd:hover, .cs-autocomplete .autocomplete-list dd.selected, .cs-autocomplete__item:hover, .cs-autocomplete__item.selected {
      background-color: #f0f0f0;
      cursor: pointer; }
    .cs-autocomplete .autocomplete-list dd:last-child, .cs-autocomplete__item:last-child {
      border-bottom: none; }
    .cs-autocomplete .autocomplete-list dd-image-container, .cs-autocomplete__item-image-container {
      padding: 0;
      margin-right: 1rem;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
    .cs-autocomplete .autocomplete-list dd-image, .cs-autocomplete__item-image {
      width: 4.5rem;
      height: 4.5rem; }
    .cs-autocomplete .autocomplete-list dd-details, .cs-autocomplete__item-details {
      flex: 1 1 100%;
      margin: 0; }
      .cs-autocomplete .autocomplete-list dd-details .f-fix, .cs-autocomplete__item-details .f-fix {
        height: 5.8rem;
        display: flex;
        flex-direction: column;
        justify-content: center; }
      .cs-autocomplete .autocomplete-list dd-details img, .cs-autocomplete__item-details img {
        display: block; }
    .cs-autocomplete .autocomplete-list dd-brand, .cs-autocomplete__item-brand {
      font-size: 1.2rem;
      color: #888; }
    .cs-autocomplete .autocomplete-list dd-name, .cs-autocomplete__item-name {
      font-size: 1.29rem;
      color: #000;
      font-weight: 700; }
    .cs-autocomplete .autocomplete-list dd-price, .cs-autocomplete__item-price {
      margin: 0.3rem 0 0; }
  .cs-autocomplete .price-box {
    display: flex; }
    .cs-autocomplete .price-box > .price {
      color: #2d3e50;
      font-size: 1.5rem;
      font-weight: 700;
      margin-right: 0; }
    .cs-autocomplete .price-box .old-price > .price {
      text-decoration: line-through;
      color: #696969;
      font-size: 1.5rem;
      font-weight: 700; }
    .cs-autocomplete .price-box .special-price > .price {
      color: #e41f12;
      font-size: 1.5rem;
      font-weight: 700; }
    .cs-autocomplete .price-box .minimal-price-link {
      display: none; }
    .cs-autocomplete .price-box .old-price {
      order: -1; }
      .cs-autocomplete .price-box .old-price .price {
        margin-right: 1rem; }
  .cs-autocomplete__badges {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: 1rem; }
  .cs-autocomplete__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #2d3e50;
    color: #fff;
    border: 0;
    border-radius: 0px;
    padding: 0 0.7rem;
    font-size: 1.1rem;
    font-weight: 700;
    min-height: 2em;
    text-transform: uppercase; }
    .cs-autocomplete__badge + .cs-autocomplete__badge {
      margin-top: 0.5rem; }
    .cs-autocomplete__badge--popular {
      background-color: #37b841;
      color: #fff; }
      .cs-autocomplete__badge--popular .cs-autocomplete__badge-text {
        line-height: normal; }
        .cs-autocomplete__badge--popular .cs-autocomplete__badge-text + .cs-autocomplete__badge--popular .cs-autocomplete__badge-text {
          margin-left: 0.5rem; }
    .cs-autocomplete__badge--free-shipping {
      background-color: #37b841;
      color: #fff; }
      .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text {
        line-height: normal; }
        .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text + .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text {
          margin-left: 0.5rem; }
  .cs-autocomplete__badge-text {
    line-height: normal; }
    .cs-autocomplete__badge-text + .cs-autocomplete__badge-text {
      margin-left: 0.5rem; }
    @media (min-width: 23.125em) {
      .cs-autocomplete__badge-text {
        white-space: nowrap; } }

.autocomplete-list {
  margin: -1px 0 1rem;
  border-top: 1px solid #dcdcdc; }
  .autocomplete-list:first-child {
    border-top: 0; }
  .autocomplete-list:last-child {
    margin-bottom: 0; }
  .autocomplete-list .amount {
    color: #888;
    font-size: 1.29rem;
    font-weight: 700;
    margin-left: 0.5rem; }
    .autocomplete-list .amount:not(:empty):after {
      content: ')'; }
    .autocomplete-list .amount:not(:empty):before {
      content: '('; }

.autocomplete-list-title {
  padding: 1.2rem 3rem 1rem 1rem;
  border-bottom: none;
  color: #888;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.29rem;
  letter-spacing: 1px;
  margin: 0; }
  .autocomplete-list-title:hover, .autocomplete-list-title.selected {
    background-color: transparent; }
  .autocomplete-list-title:not(:empty):first-child {
    border-top: transparent; }

@charset "UTF-8";
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-breadcrumbs {
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  font-weight: 400; }
  .cs-breadcrumbs__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-breadcrumbs__item {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 1.95em 0 0;
    cursor: pointer;
    font-size: 1.2rem; }
    .cs-breadcrumbs__item:last-child {
      padding: 0;
      color: #777;
      cursor: default; }
    .cs-breadcrumbs__item:not(:last-child):after {
      position: absolute;
      top: 50%;
      right: 0.8em;
      content: "⁄";
      transform: translateY(-50%);
      line-height: 1;
      color: #2d3e50; }
  .cs-breadcrumbs__link {
    position: relative;
    display: inline-block;
    color: #2d3e50; }
    .cs-breadcrumbs__link:visited {
      color: #2d3e50; }
    .cs-breadcrumbs__link:hover {
      text-decoration: none;
      color: #2d3e50; }
  .cs-breadcrumbs__separator-icon {
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translateY(-50%);
    width: 0.8em;
    height: 0.8em;
    fill: #2d3e50; }

.cs-container--breadcrumbs {
  max-width: none;
  display: none;
  background: #fff; }
  @media (min-width: 48em) {
    .cs-container--breadcrumbs {
      display: block;
      background: #fff; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-button:hover, .cs-button:focus, .cs-button:active {
    background-color: #2d3e50 !important; }
  .cs-button:before, .cs-button:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-button:before {
    width: 0;
    border-radius: 0 0px 0px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
  .cs-button:after {
    width: 0;
    min-width: auto;
    background-color: #777;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 0px; }
  .cs-button:hover:after {
    width: calc(100% + 2px); }
  .cs-button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-button, .cs-button:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #2d3e50; }
    .cs-button *, .cs-button:visited * {
      color: #fff;
      fill: #fff; }
  .cs-button:hover:not([disabled]), .cs-button:focus:not([disabled]), .cs-button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #777; }
    .cs-button:hover:not([disabled]) *, .cs-button:focus:not([disabled]) *, .cs-button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-button__span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-button__icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }

.cs-button-component {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  margin: 0 0 3rem;
  position: relative;
  left: 50%;
  transform: translateX(-50%); }
  .cs-button-component:hover, .cs-button-component:focus, .cs-button-component:active {
    background-color: #2d3e50 !important; }
  .cs-button-component:before, .cs-button-component:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-button-component:before {
    width: 0;
    border-radius: 0 0px 0px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
  .cs-button-component:after {
    width: 0;
    min-width: auto;
    background-color: #777;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 0px; }
  .cs-button-component:hover:after {
    width: calc(100% + 2px); }
  .cs-button-component::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-button-component, .cs-button-component:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #2d3e50; }
    .cs-button-component *, .cs-button-component:visited * {
      color: #fff;
      fill: #fff; }
  .cs-button-component:hover:not([disabled]), .cs-button-component:focus:not([disabled]), .cs-button-component:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #777; }
    .cs-button-component:hover:not([disabled]) *, .cs-button-component:focus:not([disabled]) *, .cs-button-component:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-button-component[disabled] {
    opacity: 0.65;
    cursor: auto; }
  @media (min-width: 48em) {
    .cs-button-component {
      margin: 0 0 4rem; } }
  .cs-button-component--skip-spacing {
    margin: 0; }
  .cs-button-component__span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-button-component__icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }
  .cs-button-component__amount:before {
    content: '('; }
  .cs-button-component__amount:after {
    content: ')'; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner, .cs-container__reviews {
    max-width: 114rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__reviews:before, .cs-container__inner:after, .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 40%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 32%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 30%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 67%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
  .cs-container--noscroll {
    overflow: hidden; }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }

.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner, .cs-container__reviews {
    max-width: 114rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__reviews:before, .cs-container__inner:after, .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
    .cs-container__inner--flex {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media (min-width: 48em) {
        .cs-container__inner--flex {
          flex-wrap: nowrap; } }
      .cs-container__inner--flex:after {
        display: none; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 40%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 32%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 30%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 67%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .page-product-bundle .cs-container__main-column {
    width: 100%;
    margin-right: 0; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container__reviews {
    padding-bottom: 2rem; }
    @media (min-width: 48em) {
      .cs-container__reviews {
        background: #fff;
        margin-top: 3rem;
        padding: 0 2rem; } }
    @media (min-width: 90em) {
      .cs-container__reviews {
        padding: 2rem 0 0; } }
    .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__cart-coupons {
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 64em) {
      .cs-container__cart-coupons {
        flex-wrap: nowrap;
        justify-content: space-between; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--top-bar {
    background-color: #f0f0f0;
    max-width: none; }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
    @media (min-width: 48em) {
      .catalog-category-view .cs-container--spacious,
      .catalogsearch-result-index .cs-container--spacious {
        padding-top: 0; } }
  .cs-container--image-teaser-window-width, .cs-container--store-locator {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--grid-teaser {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden; }
  .cs-container--hero-teaser {
    overflow: hidden;
    padding-left: 0;
    padding-right: 0; }
  .cs-container--noscroll {
    overflow: hidden; }
  @media (min-width: 64em) {
    .cs-container--pdp {
      padding-top: 0; } }
  .cs-container--usps .cs-container--headline {
    padding: 0; }
  .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
        padding-top: 3rem;
        padding-bottom: 5rem; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-container--my-account-page {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }
  @media (max-width: 47.99em) {
    .cs-container--page-pdp-details-aw_pq_ajax_container {
      padding: 0; } }
  .cs-container--cart-page .cs-container--products-carousel {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cart-page .cs-container--headline {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cms-teaser {
    margin-top: 2rem; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-container--grid-teaser {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      overflow: visible; } }
  .cs-container--footer-usps .cs-image-teaser__content {
    margin: 0 !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-cookie-message {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 1.2rem;
  background-color: #fff;
  color: #000;
  box-shadow: 0 -0.3rem 0.5rem 0 rgba(0, 0, 0, 0.15);
  font-size: 85%;
  z-index: 98;
  transform: translate3d(0, 110%, 0);
  opacity: 0;
  transition: transform 0.25s ease-out, opacity 0.18s linear;
  display: flex;
  justify-content: center;
  align-items: center; }
  .cs-cookie-message--shown {
    z-index: 202;
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  .cs-cookie-message__inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-left: 8rem; }
    @media (min-width: 48em) {
      .cs-cookie-message__inner {
        flex-direction: row; } }
  .cs-cookie-message__button-wrapper {
    align-self: flex-start; }
    @media (min-width: 48em) {
      .cs-cookie-message__button-wrapper {
        align-self: unset; } }
  .cs-cookie-message__text {
    position: relative;
    margin: 0; }
    .cs-cookie-message__text .block-cms-link.widget,
    .cs-cookie-message__text p {
      margin: 0;
      display: inline; }
    .cs-cookie-message__text a, .cs-cookie-message__text a:visited {
      color: #2d3e50;
      text-decoration: none; }
    .cs-cookie-message__text a:hover, .cs-cookie-message__text a:focus, .cs-cookie-message__text a:active, .cs-cookie-message__text a:visited:hover, .cs-cookie-message__text a:visited:focus {
      color: #2d3e50;
      text-decoration: none; }
  .cs-cookie-message__icon {
    position: absolute;
    left: 0.5rem;
    width: 5.5rem;
    height: 5.5rem;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 48em) {
      .cs-cookie-message__icon {
        top: -3.5rem;
        transform: translateY(0); } }
  .cs-cookie-message__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    white-space: nowrap;
    margin-top: 1.2rem; }
    .cs-cookie-message__button:hover, .cs-cookie-message__button:focus, .cs-cookie-message__button:active {
      background-color: #2d3e50 !important; }
    .cs-cookie-message__button:before, .cs-cookie-message__button:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-cookie-message__button:before {
      width: 0;
      border-radius: 0 0px 0px 0;
      z-index: -1;
      background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
    .cs-cookie-message__button:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-cookie-message__button:hover:after {
      width: calc(100% + 2px); }
    .cs-cookie-message__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-cookie-message__button, .cs-cookie-message__button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-cookie-message__button *, .cs-cookie-message__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-cookie-message__button:hover:not([disabled]), .cs-cookie-message__button:focus:not([disabled]), .cs-cookie-message__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-cookie-message__button:hover:not([disabled]) *, .cs-cookie-message__button:focus:not([disabled]) *, .cs-cookie-message__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-cookie-message__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (min-width: 48em) {
      .cs-cookie-message__button {
        margin-top: 0;
        margin-left: 1.2rem; } }
  .cs-cookie-message__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-cookie-message__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@media (max-width: 47.99em) {
  .cs-display-controller--hidden-mobile {
    display: none; } }

@media (min-width: 48em) {
  .cs-display-controller--hidden-desktop {
    display: none; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-dropdown-switcher {
  white-space: nowrap;
  cursor: pointer;
  width: 100%; }
  @media (min-width: 64em) {
    .cs-dropdown-switcher {
      position: relative;
      display: inline-flex;
      align-items: center;
      flex-shrink: 0;
      justify-content: end; }
      .cs-dropdown-switcher:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 1.3rem;
        content: '';
        border-left: 0.2rem solid #fff;
        display: block; } }
  @media (min-width: 64em) {
    .cs-dropdown-switcher--stores:before {
      display: none; } }
  .cs-dropdown-switcher__option-icon {
    min-width: 2.5rem;
    height: 2.5rem;
    margin-right: 0.6rem;
    margin-bottom: 0.2rem;
    display: inline-block; }
    @media (min-width: 64em) {
      .cs-dropdown-switcher--language .cs-dropdown-switcher__option-icon {
        width: 2.5rem; } }
  @media (min-width: 64em) {
    .cs-dropdown-switcher .switcher-options {
      display: flex; } }
  .cs-dropdown-switcher__trigger {
    padding: 2.4rem 2rem;
    font-size: 1.3rem;
    font-weight: 700;
    border-bottom: 1px #dcdcdc solid;
    position: relative;
    position: relative; }
    .cs-dropdown-switcher__trigger:before, .cs-dropdown-switcher__trigger:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.7rem;
      height: 0.1rem;
      left: auto;
      background-color: #2d3e50;
      transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-dropdown-switcher__trigger:before {
      transform: rotate(45deg) translate3d(0, 0, 0);
      right: 3rem; }
    .cs-dropdown-switcher__trigger:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 2.5rem; }
    .cs-dropdown-switcher__trigger.active:before {
      transform: rotate(-45deg); }
    .cs-dropdown-switcher__trigger.active:after {
      transform: rotate(45deg); }
    @media (min-width: 64em) {
      .cs-dropdown-switcher__trigger {
        height: 100%;
        display: inline-flex;
        align-items: center;
        margin-left: 2rem;
        font-size: 1.3rem;
        font-weight: 400;
        padding: 0 1.5rem 0 0;
        border-bottom: none;
        position: relative; }
        .cs-dropdown-switcher__trigger:before, .cs-dropdown-switcher__trigger:after {
          content: '';
          position: absolute;
          top: 50%;
          width: 0.7rem;
          height: 0.1rem;
          left: auto;
          background-color: #000;
          transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
          -webkit-backface-visibility: hidden;
                  backface-visibility: hidden; }
        .cs-dropdown-switcher__trigger:before {
          transform: rotate(45deg) translate3d(0, 0, 0);
          right: 0.5rem; }
        .cs-dropdown-switcher__trigger:after {
          transform: rotate(-45deg) translate3d(0, 0, 0);
          right: 0; }
        .cs-dropdown-switcher__trigger.active:before {
          transform: rotate(-45deg); }
        .cs-dropdown-switcher__trigger.active:after {
          transform: rotate(45deg); } }
    .active .cs-dropdown-switcher__trigger {
      background: transparent;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px;
      border: none;
      position: relative;
      width: 100%; }
      @media (max-width: 63.99em) {
        .active .cs-dropdown-switcher__trigger {
          padding: 2.4rem 2rem;
          border-style: none; } }
    .cs-dropdown-switcher__trigger-span {
      display: flex;
      align-items: center;
      margin-right: .3rem; }
  .cs-dropdown-switcher__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
    list-style: none;
    font-size: 1.3rem;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    border-color: #f0f0f0;
    border-style: solid;
    border-width: 0 1px 1px;
    width: 100%; }
    @media (min-width: 64em) {
      .cs-dropdown-switcher__list {
        background: #fff;
        min-width: 108%;
        position: absolute;
        top: 4rem;
        right: 0rem; } }
    .cs-dropdown-switcher__list .cs-dropdown-switcher--currency {
      right: -1rem; }
    .active .cs-dropdown-switcher__list {
      display: block; }
    .cs-dropdown-switcher__list-item {
      margin: 0;
      white-space: nowrap; }
    .cs-dropdown-switcher__list-item-link {
      width: 100%;
      color: #2d3e50 !important;
      display: flex;
      align-items: center; }
      .cs-dropdown-switcher__list-item-link:hover {
        background-color: #f0f0f0;
        text-decoration: none; }
      @media (max-width: 63.99em) {
        .cs-dropdown-switcher__list-item-link {
          padding: 1.4rem 2rem;
          font-size: 1.3rem; } }
      @media (min-width: 64em) {
        .cs-dropdown-switcher__list-item-link {
          padding: 1rem 2.8rem;
          font-size: 1.3rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* stylelint-disable no-descending-specificity */
.cs-field,
.cs-input {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0;
  width: 100%; }
  .cs-field__control,
  .cs-input__control {
    width: 100%; }
  .cs-field__label,
  .cs-input__label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit; }
    .required .cs-field__label:after, .required
    .cs-input__label:after {
      content: ' *';
      color: #e41f12; }
  .cs-field__input, .cs-field__textarea,
  .cs-input__input,
  .cs-input__textarea {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #2d3e50;
    background: #fff;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit; }
    .cs-field__input:hover:not([disabled]), .cs-field__input:focus:not([disabled]), .cs-field__textarea:hover:not([disabled]), .cs-field__textarea:focus:not([disabled]),
    .cs-input__input:hover:not([disabled]),
    .cs-input__input:focus:not([disabled]),
    .cs-input__textarea:hover:not([disabled]),
    .cs-input__textarea:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none; }
    .cs-field__input::-moz-placeholder, .cs-field__textarea::-moz-placeholder, .cs-input__input::-moz-placeholder, .cs-input__textarea::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .cs-field__input:-ms-input-placeholder, .cs-field__textarea:-ms-input-placeholder, .cs-input__input:-ms-input-placeholder, .cs-input__textarea:-ms-input-placeholder {
      opacity: 1;
      color: #888; }
    .cs-field__input::placeholder, .cs-field__textarea::placeholder,
    .cs-input__input::placeholder,
    .cs-input__textarea::placeholder {
      opacity: 1;
      color: #888; }
    .cs-field__input[disabled], .cs-field__textarea[disabled],
    .cs-input__input[disabled],
    .cs-input__textarea[disabled] {
      opacity: 0.65; }
    .cs-field__input.mage-error, .cs-field__input.mage-error:hover:not(:focus), .cs-field__textarea.mage-error, .cs-field__textarea.mage-error:hover:not(:focus),
    .cs-input__input.mage-error,
    .cs-input__input.mage-error:hover:not(:focus),
    .cs-input__textarea.mage-error,
    .cs-input__textarea.mage-error:hover:not(:focus) {
      border: 1px solid #e41f12; }
  .cs-field__select,
  .cs-input__select {
    display: block;
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    padding-right: 2.3em;
    color: #2d3e50;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .cs-field__select:-moz-focusring, .cs-field__select::-moz-focus-inner,
    .cs-input__select:-moz-focusring,
    .cs-input__select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__select:hover:not([disabled]), .cs-field__select:focus:not([disabled]),
    .cs-input__select:hover:not([disabled]),
    .cs-input__select:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%232d3e50'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
    .cs-field__select[disabled],
    .cs-input__select[disabled] {
      opacity: 0.65; }
    .cs-field__select option,
    .cs-input__select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
  .cs-field__radio,
  .cs-input__radio {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: -0.0625em calc(0.5em + 1px) 0 0;
    font-size: 1em;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s; }
    .cs-field__radio::-moz-focus-inner, .cs-field__radio:-moz-focusring,
    .cs-input__radio::-moz-focus-inner,
    .cs-input__radio:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__radio:hover:not([disabled]), .cs-field__radio:focus:not([disabled]),
    .cs-input__radio:hover:not([disabled]),
    .cs-input__radio:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none;
      background-color: transparent; }
    .cs-field__radio:checked,
    .cs-input__radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%232d3e50' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .cs-field__radio:checked, .cs-field__radio:checked:hover, .cs-field__radio:checked:focus,
      .cs-input__radio:checked,
      .cs-input__radio:checked:hover,
      .cs-input__radio:checked:focus {
        border: 1px solid #2d3e50;
        background-color: transparent;
        box-shadow: none; }
    .cs-field__radio[disabled],
    .cs-field__radio[disabled] + .label,
    .cs-field__radio[disabled] + .cs-input__label,
    .cs-input__radio[disabled],
    .cs-input__radio[disabled] + .label,
    .cs-input__radio[disabled] + .cs-input__label {
      opacity: 0.65; }
  .cs-field__checkbox,
  .cs-input__checkbox {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: -0.0625em calc(0.5em + 1px) 0 0;
    font-size: 1em;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s;
    border-radius: 0px;
    background-size: 1em 1em; }
    .cs-field__checkbox::-moz-focus-inner, .cs-field__checkbox:-moz-focusring,
    .cs-input__checkbox::-moz-focus-inner,
    .cs-input__checkbox:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__checkbox:hover:not([disabled]), .cs-field__checkbox:focus:not([disabled]),
    .cs-input__checkbox:hover:not([disabled]),
    .cs-input__checkbox:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none;
      background-color: transparent; }
    .cs-field__checkbox:checked,
    .cs-input__checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%232d3e50' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .cs-field__checkbox:checked, .cs-field__checkbox:checked:hover, .cs-field__checkbox:checked:focus,
      .cs-input__checkbox:checked,
      .cs-input__checkbox:checked:hover,
      .cs-input__checkbox:checked:focus {
        border: 1px solid #2d3e50;
        background-color: transparent;
        box-shadow: none; }
    .cs-field__checkbox[disabled],
    .cs-field__checkbox[disabled] + .label,
    .cs-field__checkbox[disabled] + .cs-input__label,
    .cs-input__checkbox[disabled],
    .cs-input__checkbox[disabled] + .label,
    .cs-input__checkbox[disabled] + .cs-input__label {
      opacity: 0.65; }
    .cs-field__checkbox:checked,
    .cs-input__checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%232d3e50' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e"); }
    .cs-field__checkbox.mage-error, .cs-field__checkbox.mage-error:hover:not(:focus),
    .cs-input__checkbox.mage-error,
    .cs-input__checkbox.mage-error:hover:not(:focus) {
      border: 1px solid #e41f12; }
  .cs-field__icon,
  .cs-input__icon {
    position: absolute;
    width: 1.3em;
    height: 1.3em;
    right: 0.8em;
    top: 0.8em;
    display: none; }
  .cs-field__note,
  .cs-input__note {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }
  .cs-field__error,
  .cs-input__error {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969;
    color: #e41f12; }

.field {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0;
  width: 100%; }
  .field._success:not(._warn) .control {
    position: relative; }
    .field._success:not(._warn) .control:after {
      position: absolute;
      width: 1.3em;
      height: 1.3em;
      right: 0.8em;
      top: 0.8em;
      display: none;
      background: url("../images/check-green.svg") no-repeat center center/contain;
      content: ''; }
  .field .control {
    width: 100%; }
    .field .control > textarea {
      font-size: 1em;
      line-height: 1.275em;
      padding: 0.75em 1em;
      color: #2d3e50;
      background: #fff;
      border-radius: 0px;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      transition: border-color 0.5s;
      margin: 0 0 0.2em;
      width: 100%;
      background-clip: padding-box;
      font-family: inherit; }
      .field .control > textarea:hover:not([disabled]), .field .control > textarea:focus:not([disabled]) {
        border: 1px solid #2d3e50;
        box-shadow: none; }
      .field .control > textarea::-moz-placeholder {
        opacity: 1;
        color: #888; }
      .field .control > textarea:-ms-input-placeholder {
        opacity: 1;
        color: #888; }
      .field .control > textarea::placeholder {
        opacity: 1;
        color: #888; }
      .field .control > textarea[disabled] {
        opacity: 0.65; }
  .field .label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit; }
  .field.required > .label:after, .field._required > .label:after {
    content: ' *';
    color: #e41f12; }
  .field.required ._required > .label:after {
    display: none; }
  .field .input-text {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #2d3e50;
    background: #fff;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit; }
    .field .input-text:hover:not([disabled]), .field .input-text:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none; }
    .field .input-text::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .field .input-text:-ms-input-placeholder {
      opacity: 1;
      color: #888; }
    .field .input-text::placeholder {
      opacity: 1;
      color: #888; }
    .field .input-text[disabled] {
      opacity: 0.65; }
    .field .input-text.mage-error, .field .input-text.mage-error:hover:not(:focus) {
      border: 1px solid #e41f12; }
    .field .input-text.required-entry {
      margin-bottom: 1rem; }
  .field .select {
    display: block;
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    padding-right: 2.3em;
    color: #2d3e50;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .field .select:-moz-focusring, .field .select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .select:hover:not([disabled]), .field .select:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%232d3e50'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
    .field .select[disabled] {
      opacity: 0.65; }
    .field .select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
  .field .checkbox {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: -0.0625em calc(0.5em + 1px) 0 0;
    font-size: 1em;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s;
    border-radius: 0px;
    background-size: 1em 1em; }
    .field .checkbox::-moz-focus-inner, .field .checkbox:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .checkbox:hover:not([disabled]), .field .checkbox:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none;
      background-color: transparent; }
    .field .checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%232d3e50' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .field .checkbox:checked, .field .checkbox:checked:hover, .field .checkbox:checked:focus {
        border: 1px solid #2d3e50;
        background-color: transparent;
        box-shadow: none; }
    .field .checkbox[disabled],
    .field .checkbox[disabled] + .label,
    .field .checkbox[disabled] + .cs-input__label {
      opacity: 0.65; }
    .field .checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%232d3e50' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e"); }
    .field .checkbox.mage-error, .field .checkbox.mage-error:hover:not(:focus) {
      border: 1px solid #e41f12; }
  .field .radio {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: -0.0625em calc(0.5em + 1px) 0 0;
    font-size: 1em;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s; }
    .field .radio::-moz-focus-inner, .field .radio:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .radio:hover:not([disabled]), .field .radio:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none;
      background-color: transparent; }
    .field .radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%232d3e50' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .field .radio:checked, .field .radio:checked:hover, .field .radio:checked:focus {
        border: 1px solid #2d3e50;
        background-color: transparent;
        box-shadow: none; }
    .field .radio[disabled],
    .field .radio[disabled] + .label,
    .field .radio[disabled] + .cs-input__label {
      opacity: 0.65; }
  .field.customer-name-prefix select {
    display: block;
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    padding-right: 2.3em;
    color: #2d3e50;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .field.customer-name-prefix select:-moz-focusring, .field.customer-name-prefix select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field.customer-name-prefix select:hover:not([disabled]), .field.customer-name-prefix select:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%232d3e50'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
    .field.customer-name-prefix select[disabled] {
      opacity: 0.65; }
    .field.customer-name-prefix select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
  .field.field-dob input {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #2d3e50;
    background: #fff;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit; }
    .field.field-dob input:hover:not([disabled]), .field.field-dob input:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none; }
    .field.field-dob input::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .field.field-dob input:-ms-input-placeholder {
      opacity: 1;
      color: #888; }
    .field.field-dob input::placeholder {
      opacity: 1;
      color: #888; }
    .field.field-dob input[disabled] {
      opacity: 0.65; }
    .field.field-dob input.mage-error, .field.field-dob input.mage-error:hover:not(:focus) {
      border: 1px solid #e41f12; }
  .field.field-dob button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .field.field-dob button::before, .field.field-dob button::after {
      content: none; }
    .field.field-dob button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .field.field-dob button, .field.field-dob button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #2d3e50;
      color: #2d3e50;
      background-color: #fff; }
      .field.field-dob button *, .field.field-dob button:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .field.field-dob button:hover:not([disabled]), .field.field-dob button:focus:not([disabled]), .field.field-dob button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .field.field-dob button:hover:not([disabled]) *, .field.field-dob button:focus:not([disabled]) *, .field.field-dob button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .field.field-dob button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .field.field-dob button span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal;
      padding-left: 0;
      padding-right: 4em; }
  .field._error .input-text, .field._error .input-text:hover:not(:focus),
  .field._error .checkbox,
  .field._error .checkbox:hover:not(:focus) {
    border: 1px solid #e41f12; }
  .field .control._with-tooltip input {
    width: 100%;
    margin-right: 0; }
  .field .field-tooltip {
    position: static; }
    .field .field-tooltip .label,
    .field .field-tooltip .field-tooltip-action {
      display: none; }
    .field .field-tooltip .field-tooltip-content {
      position: static;
      background: none;
      border: none;
      display: block;
      font-size: 0.85em;
      padding: 0.3em 0 0;
      color: #696969; }
      .field .field-tooltip .field-tooltip-content:before, .field .field-tooltip .field-tooltip-content:after {
        display: none; }
  .field .note {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }

div.mage-error,
div.field-error {
  display: block;
  font-size: 0.85em;
  padding: 0.3em 0 0;
  color: #696969;
  color: #e41f12; }

/* stylelint-enable */

/**
 * Footer component customization.
 * @see /Magento_Theme/templates/footer/columns.phtml for templates.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Footer component customization.
 * @see /Magento_Theme/templates/footer/columns.phtml for templates.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-footer {
  font-size: 1rem;
  color: #fff;
  background: #000;
  overflow: hidden;
  padding: 0 0 2rem; }
  @media (min-width: 48em) {
    .cs-footer {
      padding: 0 1.5rem; } }
  .cs-footer__content {
    padding: 0; }
    @media (min-width: 48em) {
      .cs-footer__content {
        display: flex;
        flex-wrap: wrap;
        padding-top: 4rem;
        padding-bottom: 2.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__content {
        flex-wrap: nowrap; } }
  @media (min-width: 64em) {
    .cs-footer__item {
      flex: 1 1; } }
  .cs-footer__item--promo {
    flex-basis: 100%; }
    @media (max-width: 47.99em) {
      .cs-footer__item--promo {
        display: none; } }
    @media (max-width: 63.99em) {
      .cs-footer__item--promo {
        margin-bottom: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__item--promo {
        flex-basis: auto;
        flex-grow: 1; } }
  @media (min-width: 48em) {
    .cs-footer__item--links {
      display: flex;
      flex-basis: 100%;
      margin-top: 2em; } }
  @media (min-width: 48em) {
    .cs-footer__item--links {
      margin-top: 0; } }
  @media (min-width: 64em) {
    .cs-footer__item--links {
      flex-basis: auto;
      flex-grow: 5; } }
  @media (min-width: 48em) {
    .cs-footer__item--extras {
      display: flex;
      flex-basis: 100%; } }
  @media (min-width: 64em) {
    .cs-footer__item--extras {
      display: block;
      flex-basis: 25%;
      flex-grow: 2; } }
  @media (min-width: 48em) {
    .cs-footer__section {
      flex: 1 1; } }
  @media (min-width: 48em) {
    .cs-footer__section--newsletter {
      flex-grow: 2; } }
  @media (min-width: 64em) {
    .cs-footer__section--socials {
      margin-top: 4rem; } }
  @media (min-width: 64em) {
    .cs-footer__section--stores-switcher {
      margin-top: 4rem;
      max-width: 20rem; } }
  .cs-footer__section-title,
  .cs-footer [data-role='title'] {
    font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.7rem;
    line-height: 1.1;
    color: #2d3e50;
    font-weight: 500;
    text-transform: none;
    margin: 1rem 0 2rem;
    position: relative;
    margin: 0;
    border-top: 1px solid #888;
    padding: 2em 1.5rem;
    color: #888;
    font-size: 1.2em;
    font-weight: 400;
    text-transform: uppercase; }
    @media (max-width: 47.99em) {
      .cs-footer__section--collapsible .cs-footer__section-title, .cs-footer__section--collapsible
      .cs-footer [data-role='title'] {
        cursor: pointer;
        position: relative; }
        .cs-footer__section--collapsible .cs-footer__section-title:before, .cs-footer__section--collapsible .cs-footer__section-title:after, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:before, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:after {
          content: '';
          position: absolute;
          top: 50%;
          width: 1.2rem;
          height: 0.2rem;
          left: auto;
          background-color: #888;
          transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
          -webkit-backface-visibility: hidden;
                  backface-visibility: hidden; }
        .cs-footer__section--collapsible .cs-footer__section-title:before, .cs-footer__section--collapsible .cs-footer__section-title:after, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:before, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:after {
          right: 1.5rem;
          transform: translate3d(0, -50%, 0) !important; }
        .cs-footer__section--collapsible .cs-footer__section-title:after, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:after {
          transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
        .cs-footer__section--collapsible .cs-footer__section-title[aria-expanded="true"]:before, .cs-footer__section--collapsible
        .cs-footer [data-role='title'][aria-expanded="true"]:before {
          transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
          opacity: 0; }
        .cs-footer__section--collapsible .cs-footer__section-title[aria-expanded="true"]:after, .cs-footer__section--collapsible
        .cs-footer [data-role='title'][aria-expanded="true"]:after {
          transform: translate3d(0, -50%, 0) rotate(0) !important; }
      .cs-footer__section--socials .cs-footer__section-title, .cs-footer__section--socials
      .cs-footer [data-role='title'] {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ } }
    @media (min-width: 48em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        border-top: none;
        padding-left: 0; } }
    @media (min-width: 64em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        padding-top: 0;
        padding-right: 0; } }
  .cs-footer__section-content,
  .cs-footer [data-role='content'] {
    padding: 0 1.5rem 1.5rem;
    font-size: 1.2em; }
    @media (max-width: 47.99em) {
      .cs-footer__section--collapsible .cs-footer__section-content, .cs-footer__section--collapsible
      .cs-footer [data-role='content'] {
        display: none; } }
    @media (min-width: 48em) {
      .cs-footer__section-content,
      .cs-footer [data-role='content'] {
        padding-left: 0; } }
    @media (min-width: 64em) {
      .cs-footer__section-content,
      .cs-footer [data-role='content'] {
        padding-right: 0;
        padding-bottom: 0; } }
  .cs-footer__shop-logo {
    display: block;
    width: 13.5em;
    height: 2.3em;
    min-width: 13.5em;
    max-width: 100%;
    max-height: 100%; }

.cs-container--footer {
  max-width: none; }

.cs-container--footer-usps .cs-image-teaser__content {
  margin: 0 !important; }

.cs-footer {
  font-size: 1.4rem;
  color: #696969;
  background: #fff;
  overflow: hidden;
  padding: 0 0 2rem; }
  @media (min-width: 48em) {
    .cs-footer {
      padding: 0 1.5rem; } }
  .cs-footer__content {
    padding: 0; }
    @media (min-width: 48em) {
      .cs-footer__content {
        display: flex;
        flex-wrap: wrap;
        padding-top: 4rem;
        padding-bottom: 2.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__content {
        flex-wrap: nowrap; } }
    @media (max-width: 64em) {
      .cs-footer__content {
        text-align: center; } }
    .cs-footer__content a:hover {
      text-decoration: underline; }
  @media (min-width: 64em) {
    .cs-footer__item {
      flex: 1 1; } }
  .cs-footer__item--promo {
    flex-basis: 100%; }
    @media (max-width: 47.99em) {
      .cs-footer__item--promo {
        display: none; } }
    @media (max-width: 63.99em) {
      .cs-footer__item--promo {
        margin-bottom: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__item--promo {
        flex-basis: auto;
        flex-grow: 1; } }
  @media (min-width: 48em) {
    .cs-footer__item--links {
      display: flex;
      flex-basis: 100%;
      margin-top: 1em; } }
  @media (min-width: 48em) {
    .cs-footer__item--links {
      margin-top: 0; } }
  @media (min-width: 64em) {
    .cs-footer__item--links {
      flex-basis: auto;
      flex-grow: 100; } }
  @media (min-width: 48em) {
    .cs-footer__item--extras {
      display: flex;
      flex-basis: 100%; } }
  @media (min-width: 64em) {
    .cs-footer__item--extras {
      display: block;
      flex-basis: 25%;
      flex-grow: 2;
      padding-left: 30px; } }
  .cs-footer__item--extras p {
    font-size: 1.3em; }
  @media (min-width: 48em) {
    .cs-footer__section {
      flex: 1 1; } }
  @media (min-width: 48em) {
    .cs-footer__section--newsletter {
      flex-grow: 2; } }
  @media (min-width: 64em) {
    .cs-footer__section--socials {
      margin-top: 4rem; } }
  @media (min-width: 64em) {
    .cs-footer__section--stores-switcher {
      margin-top: 4rem;
      max-width: 20rem; } }
  .cs-footer__section .block-cms-link.widget {
    margin: 0; }
  .cs-footer__section-title,
  .cs-footer [data-role='title'] {
    font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.7rem;
    line-height: 1.1;
    color: #2d3e50;
    font-weight: 500;
    text-transform: none;
    margin: 1rem 0 2rem;
    position: relative;
    margin: 0;
    border-top: 1px solid #888;
    padding: 1em 1.5rem;
    color: #2d3e50;
    font-size: 1.6em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08rem; }
    @media (max-width: 47.99em) {
      .cs-footer__section[data-mage-init] .cs-footer__section-title,
      .cs-footer__section[data-collapsible] .cs-footer__section-title, .cs-footer__section[data-mage-init]
      .cs-footer [data-role='title'],
      .cs-footer__section[data-collapsible]
      .cs-footer [data-role='title'] {
        cursor: pointer; }
      .cs-footer__section--socials .cs-footer__section-title, .cs-footer__section--socials
      .cs-footer [data-role='title'] {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ } }
    @media (min-width: 48em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        border-top: none;
        padding-left: 0; } }
    @media (min-width: 64em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        padding-top: 0;
        padding-right: 0; } }
  .cs-footer__section-content,
  .cs-footer [data-role='content'] {
    padding: 0 1.5rem 1.5rem;
    font-size: 1.2em; }
    @media (max-width: 47.99em) {
      .cs-footer__section[data-mage-init] .cs-footer__section-content,
      .cs-footer__section[data-collapsible] .cs-footer__section-content, .cs-footer__section[data-mage-init]
      .cs-footer [data-role='content'],
      .cs-footer__section[data-collapsible]
      .cs-footer [data-role='content'] {
        display: none; } }
    @media (min-width: 48em) {
      .cs-footer__section-content,
      .cs-footer [data-role='content'] {
        padding-left: 0; } }
    @media (min-width: 64em) {
      .cs-footer__section-content,
      .cs-footer [data-role='content'] {
        padding-right: 0;
        padding-bottom: 0; } }
  .cs-footer__shop-logo {
    display: block;
    width: 13.5em;
    height: 2.3em;
    min-width: 13.5em;
    max-width: 100%;
    max-height: 100%; }
  .cs-footer .footer_top {
    position: relative;
    text-align: center;
    margin-top: 60px;
    border-top: 1px solid #ddd;
    padding-top: 60px;
    margin-bottom: 10px; }
    .cs-footer .footer_top .cs-footer__logo {
      position: absolute;
      top: -28px;
      left: calc(50% - 90px); }
      @media (max-width: 64em) {
        .cs-footer .footer_top .cs-footer__logo {
          top: -19px;
          left: calc(50% - 65px); } }
    @media (max-width: 47.99em) {
      .cs-footer .footer_top h4 {
        font-size: 1.5rem; } }
    .cs-footer .footer_top .mail_icon {
      display: inline-block;
      background: url("../images/icons/e-mail.png");
      height: 11px;
      margin-right: 5px;
      width: 14px; }
    .cs-footer .footer_top .telefon_icon {
      display: inline-block;
      background: url("../images/icons/telefon.png");
      height: 15px;
      margin-right: 5px;
      width: 15px;
      margin-top: -4px; }
  .cs-footer .footer_bottom {
    padding-top: 0px; }
    .cs-footer .footer_bottom .cs-container--image-teaser-legacy {
      padding: 0; }
      .cs-footer .footer_bottom .cs-container--image-teaser-legacy .cs-image-teaser-legacy__slide {
        min-height: 100px; }
        @media (max-width: 63.99em) {
          .cs-footer .footer_bottom .cs-container--image-teaser-legacy .cs-image-teaser-legacy__slide .cs-image-teaser-legacy__text {
            display: block; } }
      .cs-footer .footer_bottom .cs-container--image-teaser-legacy img {
        top: 50%;
        position: absolute;
        transform: translateY(-50%); }
        @media (max-width: 63.99em) {
          .cs-footer .footer_bottom .cs-container--image-teaser-legacy img {
            left: 50%;
            transform: translateY(-50%) translateX(-50%);
            max-width: 40%; } }
      .cs-footer .footer_bottom .cs-container--image-teaser-legacy .cs-image-teaser-legacy__wrapper--content-display-inside .cs-image-teaser-legacy__content-wrapper {
        padding: 0; }

.cs-container--footer {
  max-width: none;
  margin-top: 4em; }
  .cs-container--footer .cs-footer__item--extras h4:not(:first-of-type) {
    margin: 0; }
  @media (max-width: 63.99em) {
    .cs-container--footer .cs-footer__item--extras p {
      padding: 0 20px; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-footer-links {
  margin: 0;
  padding: 0;
  list-style: none; }
  .cs-footer-links__item {
    margin: 0 0 0.3em; }
  .cs-footer-links a, .cs-footer-links a:visited {
    color: #fff;
    text-decoration: none; }
  .cs-footer-links a:hover, .cs-footer-links a:focus, .cs-footer-links a:active, .cs-footer-links a:visited:hover, .cs-footer-links a:visited:focus {
    color: #fff;
    text-decoration: underline; }
  .cs-footer-links a, .cs-footer-links a:visited {
    display: block;
    padding: 0.5em 0;
    font-size: inherit; }
    @media (min-width: 48em) {
      .cs-footer-links a, .cs-footer-links a:visited {
        padding: 0.35em 0;
        display: inline-block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-headline {
  font-size: 1rem;
  clear: both;
  padding: 2em 0;
  margin: 2em 0;
  margin: 0;
  padding: 0;
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-headline {
      margin: 0 0 4rem; } }
  .cs-headline--skip-spacing {
    margin: 0; }
  .cs-headline__title {
    display: block;
    text-align: center;
    align-items: center;
    margin: 0;
    font-size: 2.6em;
    font-weight: 700;
    color: #2d3e50;
    text-transform: none; }
    @media (min-width: 48em) {
      .cs-headline__title {
        display: flex; } }
    .cs-headline__title:before, .cs-headline__title:after {
      content: '';
      display: none;
      height: 1px;
      flex-grow: 1;
      background-color: #dcdcdc; }
      @media (min-width: 48em) {
        .cs-headline__title:before, .cs-headline__title:after {
          display: flex; } }
    .cs-headline__title:before {
      margin-right: 0.6em; }
    .cs-headline__title:after {
      margin-left: 0.6em; }
  .cs-headline__subtitle {
    color: #888;
    font-size: 1.3em;
    font-weight: 400;
    text-transform: none;
    margin: 0;
    display: none;
    text-align: center; }
    @media (min-width: 48em) {
      .cs-headline__subtitle {
        display: block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
 * Variables related to sticky header and topbar on mobile devices.
 * to prevent page jumping when offacnvas (fixed positioned) is opened
 * If you have more elements on top, you have to include their height.
 */
@media (max-width: 63.99em) {
  .cs-container--header {
    padding-left: 0;
    padding-right: 0; } }

/**
     * Styles related to sticky header and topbar on mobile devices.
     * to prevent page jumping when offacnvas (fixed positioned) is opened
     */
@media (max-width: 63.99em) {
  .navigation-offcanvas-open .page-wrapper.no-scroll-child {
    padding-top: 11rem; } }

@media (max-width: 47.99em) {
  .navigation-offcanvas-open .page-wrapper.no-scroll-child {
    padding-top: 5rem; } }

@media (max-width: 63.99em) {
  .cs-container--header {
    position: sticky;
    z-index: 800;
    top: 0;
    /**
                 * Fixed positioning required to work with offcanvas elements.
                 * Also, as a fallback for IE which does not support sticky.
                 */ }
    .navigation-offcanvas-open.no-scroll .cs-container--header,
    .cs-container--header .ie11 {
      position: fixed; } }

@media (max-width: 47.99em) {
  .cs-container--header {
    top: 0; } }

.cs-header {
  font-size: 1rem;
  margin-top: 20px;
  height: 5rem; }
  @media (max-width: 48em) {
    .cs-header {
      margin-top: 0; } }
  @media (min-width: 48em) {
    .cs-header {
      height: 11rem; } }
  @media (min-width: 80em) {
    .cs-header {
      height: 11rem; } }
  .cs-header__content {
    height: 5rem;
    z-index: 300;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: #fff;
    position: relative;
    max-width: 100vw; }
    @media (min-width: 48em) {
      .cs-header__content {
        height: 11rem; } }
    @media (min-width: 64em) {
      .cs-header__content {
        border-bottom: 1px solid #f0f0f0;
        flex-wrap: nowrap; } }
    @media (min-width: 80em) {
      .cs-header__content {
        height: 11rem; } }
  .cs-header__offcanvas-toggle {
    height: 100%;
    flex: 0 1 4rem; }
    @media (min-width: 64em) {
      .cs-header__offcanvas-toggle {
        display: none; } }
  .cs-header__logo {
    display: flex;
    flex: 1 1;
    margin-bottom: 0;
    height: 100%;
    padding: 0.7rem 0 0.7rem 0.7rem;
    align-items: center; }
    @media (max-width: 48em) {
      .cs-header__logo {
        justify-content: center; } }
    @media (min-width: 23.125em) {
      .cs-header__logo {
        padding: 0.7rem 0 0.7rem 1.5rem; } }
    @media (min-width: 48em) {
      .cs-header__logo {
        flex: 0 1 auto;
        padding: 0; } }
    .page-print .cs-header__logo {
      max-width: 114rem;
      width: 100%;
      margin: 0 auto;
      position: relative;
      height: auto;
      padding: 2rem 0; }
      .page-print .cs-header__logo:after {
        content: '';
        display: table;
        clear: both; }
  .cs-header .header_welcome .welcome {
    list-style-type: none;
    color: #2d3e50;
    line-height: 46px;
    padding-left: 20px;
    font-family: "Futura LT W04 Bold1475826", sans-serif;
    font-size: 1.4rem; }
  @media (max-width: 48em) {
    .cs-header .header_welcome {
      display: none; } }
  .cs-header__search {
    display: none;
    width: 100%;
    background-color: #fff;
    padding: 1rem;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 300;
    top: 100%; }
    @media (min-width: 64em) {
      .cs-header__search {
        flex-grow: 1;
        padding: 0;
        position: initial;
        margin-left: 2rem !important;
        justify-content: right; } }
    .cs-header__search--active {
      display: flex; }
    @media (min-width: 64em) {
      .cs-header__search {
        display: flex; } }
    @media (min-width: 64em) {
      .cs-header__search {
        position: relative;
        padding: 0;
        top: initial; } }
  .cs-header__user-nav {
    display: flex;
    justify-content: flex-end;
    flex: 0 1 30%;
    flex-wrap: wrap;
    align-items: center;
    margin-left: auto !important; }
    @media (min-width: 64em) {
      .cs-header__user-nav {
        flex: 0 1 33%; } }
    @media (max-width: 48em) {
      .cs-header__user-nav .language {
        display: none; } }
  .cs-header__back-button {
    border-right: 1px solid #dcdcdc;
    height: 100%;
    display: flex;
    padding: 0 1rem;
    align-items: center;
    justify-content: center;
    min-width: 4rem; }
    @media (min-width: 23.125em) {
      .cs-header__back-button {
        padding: 0 1.5rem; } }
    @media (min-width: 48em) {
      .cs-header__back-button {
        display: none; } }
  .cs-header__back-button-icon {
    fill: #888;
    height: 2.5rem; }
    @media (max-width: 23.115em) {
      .cs-header__back-button-icon {
        height: 2rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-search {
  width: 100%; }
  @media (min-width: 64em) {
    .cs-header-search {
      width: 100%; } }
  .cs-header-search--in-offcanvas {
    position: relative; }
  .cs-header-search__label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-header-search__field {
    position: relative; }
    .cs-header-search__field:before, .cs-header-search__field:after {
      content: '';
      position: absolute;
      opacity: 0;
      transition: opacity 0.3s;
      left: -0.5rem;
      right: -0.5rem;
      background: #fff; }
    .cs-header-search__field:before {
      content: '';
      position: absolute;
      box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.17);
      top: -0.5rem;
      bottom: -0.5rem;
      border-radius: 5px 5px 0 0; }
    .cs-header-search__field:after {
      content: '';
      position: absolute;
      bottom: -1rem;
      top: 100%;
      z-index: 209; }
    .active-popup .cs-header-search__field:before, .active-popup .cs-header-search__field:after {
      opacity: 1; }
  .cs-header-search__input {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #2d3e50;
    background: #fff;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit;
    font-size: 1.6rem;
    position: relative;
    z-index: 210;
    margin: 0;
    -webkit-appearance: none;
    padding: 0.55em 1em; }
    .cs-header-search__input:hover:not([disabled]), .cs-header-search__input:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none; }
    .cs-header-search__input::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .cs-header-search__input:-ms-input-placeholder {
      opacity: 1;
      color: #888; }
    .cs-header-search__input::placeholder {
      opacity: 1;
      color: #888; }
    .cs-header-search__input[disabled] {
      opacity: 0.65; }
    @media (min-width: 30em) {
      .cs-header-search__input {
        font-size: 1.4rem; } }
    .ajax-loading .cs-header-search__input:focus + .cs-header-search__action .cs-header-search__button-container--search {
      transform: translateX(100%);
      opacity: 0; }
    .ajax-loading .cs-header-search__input:focus + .cs-header-search__action .cs-header-search__button-container--loader {
      transform: translateX(0);
      opacity: 1; }
  .cs-header-search__action {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 220;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px; }
  .cs-header-search__close-icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 1rem;
    display: block;
    opacity: 0.6;
    transition: opacity 0.3s linear; }
    .cs-header-search__close-icon:hover {
      cursor: pointer;
      opacity: 1; }
    @media (min-width: 64em) {
      .cs-header-search__close-icon {
        display: none; } }
    .cs-header-search__close-icon path {
      fill: #888; }
  .cs-header-search__close-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-header-search__button-container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0, 0.66, 0.32, 0.99), opacity 0.15s linear; }
    .cs-header-search__button-container--search {
      transform: translateX(0); }
    .cs-header-search__button-container--loader {
      transform: translateX(100%); }
  .cs-header-search__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    width: 5rem;
    height: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 0 !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    transform: translateX(0.7rem); }
    .cs-header-search__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-header-search__button, .cs-header-search__button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-header-search__button *, .cs-header-search__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-header-search__button:hover:not([disabled]), .cs-header-search__button:focus:not([disabled]), .cs-header-search__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-header-search__button:hover:not([disabled]) *, .cs-header-search__button:focus:not([disabled]) *, .cs-header-search__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-header-search__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-header-search__button[disabled] {
      opacity: 1; }
  .cs-header-search__button-icon {
    transform: translateX(-0.3rem); }
    .cs-header-search__button-icon--search {
      width: 1.4rem;
      height: 1.4rem; }
      .cs-header-search__button-icon--search path {
        fill: #fff; }
    .cs-header-search__button-icon--loader {
      stroke: #fff;
      width: 3.2rem;
      height: 3.2rem; }
  .cs-header-search__button-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-header-search__autocomplete {
    width: calc(100% - 1rem);
    left: 0.5rem;
    right: 0.5rem; }
    @media (max-width: 47.99em) {
      .cs-header-search__autocomplete {
        max-height: calc( 100vh - 5rem - 1.275em - 7rem);
        overflow-y: auto; } }
    @media (min-width: 64em) {
      .cs-header-search__autocomplete {
        margin-top: 0.5rem;
        left: 50%;
        transform: translateX(-50%);
        box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.17);
        border: 0;
        width: 100%; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-user-nav {
  list-style: none;
  margin: 0;
  padding: 0 0;
  height: 100%;
  flex: 0 1 30%; }
  .cs-header-user-nav__item {
    margin-bottom: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 0 1 33%; }
    .cs-header-user-nav__item--language {
      flex: 0 1 33%; }
    @media (min-width: 64em) {
      .cs-header-user-nav__item--search {
        display: none; } }
  .cs-header-user-nav__link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    width: 100%;
    padding: 1rem; }
    .cs-header-user-nav__link:hover {
      text-decoration: none; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__icon path {
        fill: #2d3e50; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__label {
        color: #2d3e50; }
    .cs-header-user-nav__link--search:hover {
      cursor: pointer; }
  .cs-header-user-nav__icon-wrapper {
    position: relative; }
  .cs-header-user-nav__icon {
    width: 2rem;
    height: 2rem;
    display: block;
    margin: 0 auto; }
    .cs-header-user-nav__icon path {
      fill: #2d3e50; }
  .cs-header-user-nav__label {
    text-transform: none;
    font-size: 1.3rem;
    font-weight: 300;
    margin-top: 0.3rem !important;
    color: #2d3e50;
    text-decoration: none;
    display: block;
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
    @media (min-width: 48em) {
      .cs-header-user-nav__label {
        clip: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        padding: 0;
        position: static;
        width: auto;
        white-space: normal; } }
  .cs-header-user-nav__qty-counter {
    display: inline-flex;
    background-color: #2d3e50;
    color: #fff;
    border: 0;
    border-radius: 0.2rem;
    padding: 0 0.6rem;
    position: relative;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    line-height: 100%;
    font-weight: 700;
    height: 1.8em;
    background-clip: padding-box;
    position: absolute;
    right: -0.5rem;
    top: -0.5rem;
    opacity: 0;
    transition: opacity 0.3s; }
    @media (min-width: 48em) {
      .cs-header-user-nav__qty-counter {
        right: -1rem; } }
    .cs-header-user-nav__qty-counter--wishlist {
      background-color: #2d3e50;
      color: #000; }
    .cs-header-user-nav__qty-counter--minicart {
      background-color: #e41f12;
      color: #fff; }
    .cs-header-user-nav__qty-counter--compare {
      background-color: #2d3e50;
      color: #000; }
    .cs-header-user-nav__qty-counter--have-items {
      opacity: 1; }
  .cs-header-user-nav__qty-counter-span {
    min-width: 1ch; }
  @media (max-width: 48em) {
    .cs-header-user-nav .cs-header-user-nav__item--checkout {
      display: none; } }

.lazyload,
.lazyloading,
.swiper-lazy {
  opacity: 0.001; }

.lazyloaded,
.swiper-lazy-loaded {
  opacity: 1;
  transition: opacity 0.2s; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-links-block-addto {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }
  .page-product-bundle .cs-links-block-addto {
    margin-top: 1rem; }
  .cs-product-tile__addon .cs-links-block-addto {
    padding-top: 0; }
  .cs-links-block-addto--centered {
    justify-content: center; }
  .cs-links-block-addto__item {
    margin: 0; }
    .cs-links-block-addto__item + .cs-links-block-addto__item {
      margin-top: 0.5rem; }
    .cs-links-block-addto__item:nth-child(2n) {
      text-align: right; }
      .cs-links-block-addto__item:nth-child(2n) .cs-links-block-addto__icon {
        order: 2;
        margin-left: 0.5rem; }
  .cs-links-block-addto__link {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    color: #2d3e50;
    transition: color 0.15s linear; }
    .cs-links-block-addto__link:hover {
      color: #2d3e50;
      text-decoration: none; }
  .cs-links-block-addto__icon {
    width: 1.375em;
    height: 1.375em;
    margin-right: 0.4rem; }
    .cs-links-block-addto__icon path {
      fill: #888; }
    .cs-links-block-addto__icon--wishlist path {
      fill: #e41f12; }
    .cs-links-block-addto__icon--compare path {
      fill: #2d3e50; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-logo__image {
  height: 100%;
  width: 180px; }
  @media (max-width: 48em) {
    .cs-logo__image {
      width: 130px; } }
  .cs-logo__image--desktop {
    display: none; }
    .checkout-index-index .cs-logo__image--desktop {
      display: block; }
    @media (min-width: 48em) {
      .cs-logo__image--desktop {
        display: block; } }
  .cs-logo__image--mobile {
    display: block; }
    @media (min-width: 48em) {
      .cs-logo__image--mobile {
        display: none; } }
    .checkout-index-index .cs-logo__image--mobile {
      display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.messages {
  max-width: 114rem;
  margin: 0 auto; }

.cs-messages__message,
.message {
  margin: 1rem 0;
  padding: 1.2rem 1rem 1rem;
  border-radius: 0px;
  background-repeat: no-repeat;
  background-position: 1.2rem center;
  background-size: 2rem 2rem;
  padding-left: 4.3rem; }

.cs-messages__message--success,
.message.success {
  background-color: #d5efd7;
  background-image: url("../images/icons/messages/icon-success.svg");
  border: none; }

.cs-messages__message--notice,
.message.warning {
  background-color: #fdf4ca;
  background-image: url("../images/icons/messages/icon-warning.svg");
  border: none; }

.cs-messages__message--info,
.message.info,
.message.notice {
  background-color: #fdf4ca;
  background-image: url("../images/icons/messages/icon-info.svg");
  border: none; }

.cs-messages__message--error,
.message.error {
  background-color: #f8d0ce;
  background-image: url("../images/icons/messages/icon-error.svg");
  border: none; }

.cs-messages__text,
.message span {
  color: #696969;
  font-size: 1.4rem; }

.cs-messages--space-top {
  margin-top: 1.5rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* prettier-ignore */
.cs-minicart__close {
  display: inline-block;
  background: none;
  box-sizing: content-box;
  border: 0;
  box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  position: absolute;
  right: -1.5rem;
  width: 5rem;
  height: 5rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  right: 0.5rem; }
  .cs-minicart__close:focus, .cs-minicart__close:active, .cs-minicart__close:hover {
    background: transparent;
    border: none;
    color: inherit; }

.cs-minicart__close-icon {
  position: relative;
  transform: rotate(45deg);
  width: 100%;
  height: 100%;
  display: inline-block; }
  .cs-minicart__close-icon:before, .cs-minicart__close-icon:after {
    content: '';
    position: absolute;
    top: 50%;
    width: 2rem;
    height: 0.2rem;
    left: auto;
    background-color: #484848;
    transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
  .cs-minicart__close-icon:hover:before, .cs-minicart__close-icon:hover:after {
    background-color: #696969; }
  .cs-minicart__close-icon[aria-expanded="true"]:before, .cs-minicart__close-icon[aria-expanded="true"]:after {
    background-color: #888; }
  .cs-minicart__close-icon:before, .cs-minicart__close-icon:after {
    right: 1.5rem;
    transform: translate3d(0, -50%, 0) !important; }
  .cs-minicart__close-icon:after {
    transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
  .cs-minicart__close-icon[aria-expanded="true"]:before {
    transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
    opacity: 0; }
  .cs-minicart__close-icon[aria-expanded="true"]:after {
    transform: translate3d(0, -50%, 0) rotate(0) !important; }

.cs-minicart__close-text {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.cs-minicart__title-wrapper {
  position: relative;
  padding: 2rem 0;
  display: flex;
  color: #2d3e50;
  font-weight: 700;
  font-size: 1.8rem;
  margin: 0;
  padding: 1rem 2rem;
  font-size: 2.1rem;
  text-transform: uppercase;
  border-bottom: 1px solid #dcdcdc; }

.cs-minicart__items-total {
  margin-left: 0.5rem;
  color: #696969;
  font-weight: 400; }
  .cs-minicart__items-total:not(.cs-minicart__items-total--empty):before {
    content: '('; }
  .cs-minicart__items-total:not(.cs-minicart__items-total--empty):after {
    content: ')'; }
  .cs-minicart__items-total--empty .count {
    display: none; }

.cs-minicart__edit-link {
  font-weight: 700; }
  .cs-minicart__edit-link .cs-link__icon {
    padding: 0 0 0 1rem; }

.cs-minicart__content {
  height: auto !important;
  background-color: #fff;
  position: relative; }
  .cs-minicart__content .load.indicator:before {
    height: unset; }

.cs-minicart__list {
  padding: 0;
  list-style: none;
  margin-bottom: 0; }
  .cs-minicart__list--scroll {
    height: auto !important;
    max-height: calc(100vh - 36rem);
    overflow-y: auto; }
    @media (min-width: 48em) {
      .cs-minicart__list--scroll {
        max-height: calc(100vh - 38rem); }
        .is-tablet .cs-minicart__list--scroll {
          max-height: calc(100vh - 43rem); } }

.cs-minicart__list-item {
  padding: 1.5rem;
  border-bottom: 1px solid #dcdcdc;
  margin-bottom: 0;
  padding: 1.5rem 2rem; }
  .cs-minicart__list-item:last-child {
    border-bottom: none; }

.cs-minicart__actions-wrapper {
  padding: 2rem 0;
  position: relative;
  padding: 1.5rem 2rem;
  box-shadow: 0 -5px 5px -5px rgba(0, 0, 0, 0.27); }

.cs-minicart__actions {
  margin-top: 1rem; }
  .cs-minicart__actions:first-child {
    margin-top: 0; }

.cs-minicart__empty {
  padding: 2rem 0;
  display: inline-block;
  font-size: 1.4rem;
  text-align: center; }

.cs-minicart__subtotal {
  font-weight: 700;
  font-size: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.2rem; }

.cs-minicart__subtotal-price .price {
  font-weight: 700;
  font-size: 1.5rem !important;
  font-size: 2.1rem !important; }

.cs-minicart__button-checkout {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  width: 100%; }
  .cs-minicart__button-checkout:hover, .cs-minicart__button-checkout:focus, .cs-minicart__button-checkout:active {
    background-color: #2d3e50 !important; }
  .cs-minicart__button-checkout:before, .cs-minicart__button-checkout:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-minicart__button-checkout:before {
    width: 0;
    border-radius: 0 0px 0px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
  .cs-minicart__button-checkout:after {
    width: 0;
    min-width: auto;
    background-color: #777;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 0px; }
  .cs-minicart__button-checkout:hover:after {
    width: calc(100% + 2px); }
  .cs-minicart__button-checkout::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-checkout, .cs-minicart__button-checkout:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #2d3e50; }
    .cs-minicart__button-checkout *, .cs-minicart__button-checkout:visited * {
      color: #fff;
      fill: #fff; }
  .cs-minicart__button-checkout:hover:not([disabled]), .cs-minicart__button-checkout:focus:not([disabled]), .cs-minicart__button-checkout:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #777; }
    .cs-minicart__button-checkout:hover:not([disabled]) *, .cs-minicart__button-checkout:focus:not([disabled]) *, .cs-minicart__button-checkout:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-minicart__button-checkout[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-checkout-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-checkout-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    /* stylelint-disable-next-line */ }

.cs-minicart__button-viewcart {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  width: 100%; }
  .cs-minicart__button-viewcart::before, .cs-minicart__button-viewcart::after {
    content: none; }
  .cs-minicart__button-viewcart::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-viewcart, .cs-minicart__button-viewcart:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid #2d3e50;
    color: #2d3e50;
    background-color: #fff; }
    .cs-minicart__button-viewcart *, .cs-minicart__button-viewcart:visited * {
      color: #2d3e50;
      fill: #2d3e50; }
  .cs-minicart__button-viewcart:hover:not([disabled]), .cs-minicart__button-viewcart:focus:not([disabled]), .cs-minicart__button-viewcart:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid #2d3e50;
    color: #fff;
    background-color: #2d3e50; }
    .cs-minicart__button-viewcart:hover:not([disabled]) *, .cs-minicart__button-viewcart:focus:not([disabled]) *, .cs-minicart__button-viewcart:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-minicart__button-viewcart[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-viewcart-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-viewcart-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    /* stylelint-disable-next-line */ }

.cs-minicart__button-carousel {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-minicart__button-carousel-wrapper {
    display: flex;
    justify-content: center;
    padding-top: 3rem;
    margin: 3rem 0;
    border-top: 1px solid #dcdcdc; }
  .cs-minicart__button-carousel::before, .cs-minicart__button-carousel::after {
    content: none; }
  .cs-minicart__button-carousel::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-carousel, .cs-minicart__button-carousel:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid #2d3e50;
    color: #2d3e50;
    background-color: #fff; }
    .cs-minicart__button-carousel *, .cs-minicart__button-carousel:visited * {
      color: #2d3e50;
      fill: #2d3e50; }
  .cs-minicart__button-carousel:hover:not([disabled]), .cs-minicart__button-carousel:focus:not([disabled]), .cs-minicart__button-carousel:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid #2d3e50;
    color: #fff;
    background-color: #2d3e50; }
    .cs-minicart__button-carousel:hover:not([disabled]) *, .cs-minicart__button-carousel:focus:not([disabled]) *, .cs-minicart__button-carousel:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-minicart__button-carousel[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-carousel-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-carousel-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    /* stylelint-disable-next-line */ }

.cs-minicart__messages {
  padding: 0 2rem;
  text-align: left; }

.cs-minicart-offcanvas__wrapper {
  padding: 0; }

/* prettier-ignore */
.cs-minicart__carousel {
  position: relative;
  z-index: 10; }
  .cs-minicart__carousel-container {
    opacity: 0;
    transition: opacity 0.3s ease-in;
    background: #fff; }
    .cs-minicart__carousel-wrapper--ready .cs-minicart__carousel-container {
      opacity: 1; }
  .cs-minicart__carousel-wrapper {
    display: none;
    top: 50%;
    right: calc(40rem + 2rem);
    transform: translateY(-50%);
    width: calc(100vw - (40rem + (2 * 2rem)));
    max-width: 120rem;
    padding: 0;
    margin: 0;
    background: transparent; }
    .drawer--visible .cs-minicart__carousel-wrapper {
      position: absolute; }
    .ie11 .drawer--visible .cs-minicart__carousel-wrapper {
      position: fixed; }
    @media (min-width: 48em) {
      .cs-minicart__carousel-wrapper {
        display: block; } }
    @media (min-width: 80em) {
      .cs-minicart__carousel-wrapper {
        max-height: 80vh; } }
    @media (min-width: 80em) {
      .cs-minicart__carousel-wrapper {
        right: calc(40rem + (2 * 2rem));
        width: calc(100vw - (40rem + (4 * 2rem))); } }
    .cs-minicart__carousel-wrapper .cs-headline {
      margin: 0 0 2rem;
      padding: 2rem 0 0; }
  .cs-minicart__carousel-spinner {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11rem;
    height: 11rem;
    padding: 2rem 0;
    transform: translate3d(-50%, -50%, 0);
    box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
    transition: opacity 0.3s ease-in; }
    .cs-minicart__carousel-wrapper--loading .cs-minicart__carousel-spinner {
      opacity: 1;
      z-index: 10; }
  .cs-minicart__carousel .cs-products-carousel {
    margin: 0;
    background: #fff; }

.minicart-wrapper .ui-dialog {
  display: block !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-minicart-product {
  display: flex; }
  .cs-minicart-product__image-container {
    flex-shrink: 0;
    margin-right: 1rem; }
    .cs-minicart-product__image-container img {
      width: auto !important;
      height: auto !important; }
  .cs-minicart-product__image {
    max-height: 100%;
    width: auto; }
  .cs-minicart-product__overview {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline; }
  .cs-minicart-product__details {
    width: 100%; }
  .cs-minicart-product__brand-wrapper {
    text-align: left; }
  .cs-minicart-product__brand {
    font-size: 1.2rem;
    color: #888; }
  .cs-minicart-product__name-wrapper {
    flex-basis: 55%;
    padding-bottom: 1.2rem;
    text-align: left;
    font-size: 1.3rem;
    flex-basis: 100% !important; }
    @media (min-width: 30em) {
      .cs-minicart-product__name-wrapper {
        flex-basis: 70%; } }
  .cs-minicart-product__name {
    width: 100%;
    padding: 0;
    margin-top: 0;
    font-size: inherit;
    text-decoration: none;
    color: #2d3e50;
    font-weight: 600;
    font-weight: 700;
    font-size: 1.4rem; }
    .cs-minicart-product__name:visited, .cs-minicart-product__name:hover {
      text-decoration: none;
      color: #2d3e50; }
  .cs-minicart-product__item-pricing {
    order: 3; }
  .cs-minicart-product__price .price {
    font-size: 1.3rem;
    font-weight: 700;
    color: #2d3e50; }
  .cs-minicart-product__price .price-including-tax,
  .cs-minicart-product__price .price-excluding-tax {
    font-size: 1.3rem; }
  .cs-minicart-product__price .price {
    font-weight: 400; }
  .cs-minicart-product__price-label, .cs-minicart-product__options-subtitle {
    display: none; }
  .cs-minicart-product__options-title {
    font-size: 1.2rem;
    color: #484848;
    cursor: pointer;
    font-size: 1.3rem;
    color: #2d3e50; }
    .cs-minicart-product__options-title[aria-expanded='true'] > .cs-minicart-product__options-title-svg {
      transform: rotate(180deg);
      vertical-align: initial; }
  .cs-minicart-product__options-title-svg {
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    transition: transform 0.3s cubic-bezier(0, 0.66, 0.32, 0.99);
    vertical-align: middle; }
  .cs-minicart-product__options-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    margin-top: -0.4rem;
    flex-basis: 100%;
    padding-bottom: 1.2rem; }
  .cs-minicart-product__options-group {
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center; }
    .cs-minicart-product__options-group--qty {
      margin-top: 0.5rem; }
      .cs-minicart-product__options-wrapper + .cs-minicart-product__options-group--qty {
        margin-top: 1.5rem; }
  .cs-minicart-product__options-content {
    width: 100%;
    padding-top: 0.5rem; }
  .cs-minicart-product__options-label {
    font-size: 1.2rem;
    color: #888;
    font-weight: 400;
    margin-bottom: 0;
    text-align: left;
    padding-right: 0.5rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #2d3e50;
    text-transform: uppercase; }
    .cs-minicart-product__options-label:after {
      content: ':'; }
  .cs-minicart-product__options-value {
    font-size: 1.2rem;
    color: #888;
    margin-bottom: 0;
    width: 100%; }
    .cs-minicart-product__options-value__value {
      display: flex;
      justify-content: space-between;
      width: 100%; }
      .cs-minicart-product__options-value__value .price {
        color: #2d3e50; }
  .cs-minicart-product__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-top: 1.2rem; }
  .cs-minicart-product__action-wrapper {
    margin-left: 1rem; }
  .cs-minicart-product__qty,
  .cs-minicart-product .cs-qty-increment {
    display: flex;
    flex: 1 0 9rem;
    flex-wrap: nowrap; }
  .cs-minicart-product__qty-label {
    display: none; }
  .cs-minicart-product__qty-input {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #2d3e50;
    background: #fff;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 0;
    height: 3rem;
    width: 4rem;
    max-width: 4rem;
    font-size: 1.2rem; }
    .cs-minicart-product__qty-input:hover:not([disabled]), .cs-minicart-product__qty-input:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none; }
    .cs-minicart-product__qty-input::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .cs-minicart-product__qty-input:-ms-input-placeholder {
      opacity: 1;
      color: #888; }
    .cs-minicart-product__qty-input::placeholder {
      opacity: 1;
      color: #888; }
    .cs-minicart-product__qty-input[disabled] {
      opacity: 0.65; }
  .cs-minicart-product__qty-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    padding: 0;
    width: 3rem;
    height: 3rem;
    margin-left: 0.5rem; }
    .cs-minicart-product__qty-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-minicart-product__qty-button, .cs-minicart-product__qty-button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-minicart-product__qty-button *, .cs-minicart-product__qty-button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-minicart-product__qty-button:hover:not([disabled]), .cs-minicart-product__qty-button:focus:not([disabled]), .cs-minicart-product__qty-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-minicart-product__qty-button:hover:not([disabled]) *, .cs-minicart-product__qty-button:focus:not([disabled]) *, .cs-minicart-product__qty-button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-minicart-product__qty-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-minicart-product__qty-button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    display: none; }
  .cs-minicart-product__qty-button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: relative;
    top: 0.1em; }
  .cs-minicart-product__action:hover .cs-minicart-product__options-title-svg *,
  .cs-minicart-product__action:hover .cs-minicart-product__action-icon *, .cs-minicart-product__options-title:hover .cs-minicart-product__options-title-svg *,
  .cs-minicart-product__options-title:hover .cs-minicart-product__action-icon * {
    fill: #2d3e50; }
  .cs-minicart-product__action-icon {
    width: 1.6rem;
    height: 1.6rem;
    width: 2rem;
    height: 2rem; }
  .cs-minicart-product__action-icon *, .cs-minicart-product__options-title-svg * {
    fill: #2d3e50; }
  .cs-minicart-product__action-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-minicart-product__options-title:hover .cs-minicart-product__options-title-svg * {
    fill: #2d3e50; }
  .cs-minicart-product__options-title-svg * {
    fill: #2d3e50; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-free-shipping-indicator__content {
  border-top: 1px solid #dcdcdc;
  padding: 1.5rem 2rem 2rem;
  color: #696969;
  font-size: 1.4rem;
  text-align: left; }

.cs-free-shipping-indicator__cell {
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  padding-right: 0 !important; }

.cs-free-shipping-indicator__total-left-text span {
  font-weight: 700; }

.cs-free-shipping-indicator__total-fulfilled {
  padding-left: 2.8rem;
  background: url("../images/icons/messages/icon-success.svg") 0 50% no-repeat;
  background-size: 2rem; }

.cs-free-shipping-indicator__bar-wrapper {
  display: flex;
  align-items: center; }

.cs-free-shipping-indicator__bar-label {
  flex-shrink: 0;
  color: #37b841;
  font-weight: 700; }
  .cs-free-shipping-indicator__bar-label--start {
    margin-right: 1rem; }
  .cs-free-shipping-indicator__bar-label--end {
    margin-left: 1rem; }

.cs-free-shipping-indicator__bar {
  width: 100%;
  height: 2rem;
  padding: 0.4rem;
  border: 1px solid #b0b0b0;
  border-radius: 0px; }

.cs-free-shipping-indicator__bar-progress-wrapper {
  height: 100%;
  background: transparent;
  border-radius: 0px; }

.cs-free-shipping-indicator__bar-progress {
  height: 100%;
  width: 0;
  background: #37b841;
  border-radius: 0px;
  transition: width 0.55s cubic-bezier(0, 0.66, 0.32, 0.99); }

.cs-free-shipping-indicator__icon {
  flex-shrink: 0;
  width: 3.4rem;
  height: 2rem;
  margin: 0 0 0 2.5rem;
  fill: #888;
  transition: fill 0.3s; }
  .cs-free-shipping-indicator__bar-wrapper--free-shipping-active .cs-free-shipping-indicator__icon {
    fill: #37b841; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable no-descending-specificity */
.modal-slide.confirm .modal-inner-wrap,
.modal-popup.confirm .modal-inner-wrap,
.modal-custom.confirm .modal-inner-wrap {
  max-width: 50rem; }

.modal-slide .modal-inner-wrap,
.modal-popup .modal-inner-wrap,
.modal-custom .modal-inner-wrap {
  background: #fff;
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
  border-radius: 0;
  border: none; }

.modal-slide .modal-content,
.modal-popup .modal-content,
.modal-custom .modal-content {
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-size: 1.4rem; }

.modal-slide .modal-header,
.modal-popup .modal-header,
.modal-custom .modal-header {
  padding: 0;
  margin: 0; }

.modal-slide .action-close,
.modal-popup .action-close,
.modal-custom .action-close {
  background: none;
  border: none;
  position: absolute;
  right: 0;
  top: 0;
  margin: 1.5rem;
  background-image: url("../images/icons/close.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
  width: 3rem;
  height: 3rem; }
  .modal-slide .action-close span,
  .modal-popup .action-close span,
  .modal-custom .action-close span {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .modal-slide .action-close:before,
  .modal-popup .action-close:before,
  .modal-custom .action-close:before {
    content: none; }

.modal-slide .modal-footer,
.modal-popup .modal-footer,
.modal-custom .modal-footer {
  padding: 2rem;
  border-top: 1px solid #dcdcdc;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 29.99em) {
    .modal-slide .modal-footer,
    .modal-popup .modal-footer,
    .modal-custom .modal-footer {
      flex-wrap: wrap; } }
  .modal-slide .modal-footer .action-primary,
  .modal-slide .modal-footer .primary,
  .modal-popup .modal-footer .action-primary,
  .modal-popup .modal-footer .primary,
  .modal-custom .modal-footer .action-primary,
  .modal-custom .modal-footer .primary {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    min-width: 12rem; }
    .modal-slide .modal-footer .action-primary::-moz-focus-inner,
    .modal-slide .modal-footer .primary::-moz-focus-inner,
    .modal-popup .modal-footer .action-primary::-moz-focus-inner,
    .modal-popup .modal-footer .primary::-moz-focus-inner,
    .modal-custom .modal-footer .action-primary::-moz-focus-inner,
    .modal-custom .modal-footer .primary::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer .action-primary, .modal-slide .modal-footer .action-primary:visited,
    .modal-slide .modal-footer .primary,
    .modal-slide .modal-footer .primary:visited,
    .modal-popup .modal-footer .action-primary,
    .modal-popup .modal-footer .action-primary:visited,
    .modal-popup .modal-footer .primary,
    .modal-popup .modal-footer .primary:visited,
    .modal-custom .modal-footer .action-primary,
    .modal-custom .modal-footer .action-primary:visited,
    .modal-custom .modal-footer .primary,
    .modal-custom .modal-footer .primary:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .modal-slide .modal-footer .action-primary *, .modal-slide .modal-footer .action-primary:visited *,
      .modal-slide .modal-footer .primary *,
      .modal-slide .modal-footer .primary:visited *,
      .modal-popup .modal-footer .action-primary *,
      .modal-popup .modal-footer .action-primary:visited *,
      .modal-popup .modal-footer .primary *,
      .modal-popup .modal-footer .primary:visited *,
      .modal-custom .modal-footer .action-primary *,
      .modal-custom .modal-footer .action-primary:visited *,
      .modal-custom .modal-footer .primary *,
      .modal-custom .modal-footer .primary:visited * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer .action-primary:hover:not([disabled]), .modal-slide .modal-footer .action-primary:focus:not([disabled]), .modal-slide .modal-footer .action-primary:active:not([disabled]),
    .modal-slide .modal-footer .primary:hover:not([disabled]),
    .modal-slide .modal-footer .primary:focus:not([disabled]),
    .modal-slide .modal-footer .primary:active:not([disabled]),
    .modal-popup .modal-footer .action-primary:hover:not([disabled]),
    .modal-popup .modal-footer .action-primary:focus:not([disabled]),
    .modal-popup .modal-footer .action-primary:active:not([disabled]),
    .modal-popup .modal-footer .primary:hover:not([disabled]),
    .modal-popup .modal-footer .primary:focus:not([disabled]),
    .modal-popup .modal-footer .primary:active:not([disabled]),
    .modal-custom .modal-footer .action-primary:hover:not([disabled]),
    .modal-custom .modal-footer .action-primary:focus:not([disabled]),
    .modal-custom .modal-footer .action-primary:active:not([disabled]),
    .modal-custom .modal-footer .primary:hover:not([disabled]),
    .modal-custom .modal-footer .primary:focus:not([disabled]),
    .modal-custom .modal-footer .primary:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .modal-slide .modal-footer .action-primary:hover:not([disabled]) *, .modal-slide .modal-footer .action-primary:focus:not([disabled]) *, .modal-slide .modal-footer .action-primary:active:not([disabled]) *,
      .modal-slide .modal-footer .primary:hover:not([disabled]) *,
      .modal-slide .modal-footer .primary:focus:not([disabled]) *,
      .modal-slide .modal-footer .primary:active:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:hover:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:focus:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:active:not([disabled]) *,
      .modal-popup .modal-footer .primary:hover:not([disabled]) *,
      .modal-popup .modal-footer .primary:focus:not([disabled]) *,
      .modal-popup .modal-footer .primary:active:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:hover:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:focus:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:active:not([disabled]) *,
      .modal-custom .modal-footer .primary:hover:not([disabled]) *,
      .modal-custom .modal-footer .primary:focus:not([disabled]) *,
      .modal-custom .modal-footer .primary:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer .action-primary[disabled],
    .modal-slide .modal-footer .primary[disabled],
    .modal-popup .modal-footer .action-primary[disabled],
    .modal-popup .modal-footer .primary[disabled],
    .modal-custom .modal-footer .action-primary[disabled],
    .modal-custom .modal-footer .primary[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 29.99em) {
      .modal-slide .modal-footer .action-primary,
      .modal-slide .modal-footer .primary,
      .modal-popup .modal-footer .action-primary,
      .modal-popup .modal-footer .primary,
      .modal-custom .modal-footer .action-primary,
      .modal-custom .modal-footer .primary {
        width: 100%; } }
    .modal-slide .modal-footer .action-primary span,
    .modal-slide .modal-footer .primary span,
    .modal-popup .modal-footer .action-primary span,
    .modal-popup .modal-footer .primary span,
    .modal-custom .modal-footer .action-primary span,
    .modal-custom .modal-footer .primary span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .modal-slide .modal-footer .action-secondary,
  .modal-slide .modal-footer .secondary,
  .modal-popup .modal-footer .action-secondary,
  .modal-popup .modal-footer .secondary,
  .modal-custom .modal-footer .action-secondary,
  .modal-custom .modal-footer .secondary {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    min-width: 12rem; }
    .modal-slide .modal-footer .action-secondary::-moz-focus-inner,
    .modal-slide .modal-footer .secondary::-moz-focus-inner,
    .modal-popup .modal-footer .action-secondary::-moz-focus-inner,
    .modal-popup .modal-footer .secondary::-moz-focus-inner,
    .modal-custom .modal-footer .action-secondary::-moz-focus-inner,
    .modal-custom .modal-footer .secondary::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer .action-secondary, .modal-slide .modal-footer .action-secondary:visited,
    .modal-slide .modal-footer .secondary,
    .modal-slide .modal-footer .secondary:visited,
    .modal-popup .modal-footer .action-secondary,
    .modal-popup .modal-footer .action-secondary:visited,
    .modal-popup .modal-footer .secondary,
    .modal-popup .modal-footer .secondary:visited,
    .modal-custom .modal-footer .action-secondary,
    .modal-custom .modal-footer .action-secondary:visited,
    .modal-custom .modal-footer .secondary,
    .modal-custom .modal-footer .secondary:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #2d3e50;
      color: #2d3e50;
      background-color: #fff; }
      .modal-slide .modal-footer .action-secondary *, .modal-slide .modal-footer .action-secondary:visited *,
      .modal-slide .modal-footer .secondary *,
      .modal-slide .modal-footer .secondary:visited *,
      .modal-popup .modal-footer .action-secondary *,
      .modal-popup .modal-footer .action-secondary:visited *,
      .modal-popup .modal-footer .secondary *,
      .modal-popup .modal-footer .secondary:visited *,
      .modal-custom .modal-footer .action-secondary *,
      .modal-custom .modal-footer .action-secondary:visited *,
      .modal-custom .modal-footer .secondary *,
      .modal-custom .modal-footer .secondary:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .modal-slide .modal-footer .action-secondary:hover:not([disabled]), .modal-slide .modal-footer .action-secondary:focus:not([disabled]), .modal-slide .modal-footer .action-secondary:active:not([disabled]),
    .modal-slide .modal-footer .secondary:hover:not([disabled]),
    .modal-slide .modal-footer .secondary:focus:not([disabled]),
    .modal-slide .modal-footer .secondary:active:not([disabled]),
    .modal-popup .modal-footer .action-secondary:hover:not([disabled]),
    .modal-popup .modal-footer .action-secondary:focus:not([disabled]),
    .modal-popup .modal-footer .action-secondary:active:not([disabled]),
    .modal-popup .modal-footer .secondary:hover:not([disabled]),
    .modal-popup .modal-footer .secondary:focus:not([disabled]),
    .modal-popup .modal-footer .secondary:active:not([disabled]),
    .modal-custom .modal-footer .action-secondary:hover:not([disabled]),
    .modal-custom .modal-footer .action-secondary:focus:not([disabled]),
    .modal-custom .modal-footer .action-secondary:active:not([disabled]),
    .modal-custom .modal-footer .secondary:hover:not([disabled]),
    .modal-custom .modal-footer .secondary:focus:not([disabled]),
    .modal-custom .modal-footer .secondary:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .modal-slide .modal-footer .action-secondary:hover:not([disabled]) *, .modal-slide .modal-footer .action-secondary:focus:not([disabled]) *, .modal-slide .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-slide .modal-footer .secondary:hover:not([disabled]) *,
      .modal-slide .modal-footer .secondary:focus:not([disabled]) *,
      .modal-slide .modal-footer .secondary:active:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:hover:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:focus:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-popup .modal-footer .secondary:hover:not([disabled]) *,
      .modal-popup .modal-footer .secondary:focus:not([disabled]) *,
      .modal-popup .modal-footer .secondary:active:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:hover:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:focus:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-custom .modal-footer .secondary:hover:not([disabled]) *,
      .modal-custom .modal-footer .secondary:focus:not([disabled]) *,
      .modal-custom .modal-footer .secondary:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer .action-secondary[disabled],
    .modal-slide .modal-footer .secondary[disabled],
    .modal-popup .modal-footer .action-secondary[disabled],
    .modal-popup .modal-footer .secondary[disabled],
    .modal-custom .modal-footer .action-secondary[disabled],
    .modal-custom .modal-footer .secondary[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 29.99em) {
      .modal-slide .modal-footer .action-secondary,
      .modal-slide .modal-footer .secondary,
      .modal-popup .modal-footer .action-secondary,
      .modal-popup .modal-footer .secondary,
      .modal-custom .modal-footer .action-secondary,
      .modal-custom .modal-footer .secondary {
        width: 100%;
        margin-bottom: 1.5rem !important; } }
    .modal-slide .modal-footer .action-secondary span,
    .modal-slide .modal-footer .secondary span,
    .modal-popup .modal-footer .action-secondary span,
    .modal-popup .modal-footer .secondary span,
    .modal-custom .modal-footer .action-secondary span,
    .modal-custom .modal-footer .secondary span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    body.checkout-index-index .modal-slide .modal-footer .action-secondary, body.checkout-index-index
    .modal-slide .modal-footer .secondary, body.checkout-index-index
    .modal-popup .modal-footer .action-secondary, body.checkout-index-index
    .modal-popup .modal-footer .secondary, body.checkout-index-index
    .modal-custom .modal-footer .action-secondary, body.checkout-index-index
    .modal-custom .modal-footer .secondary {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: none;
      padding: 0.75em 1em;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      min-width: 12rem; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-slide .modal-footer .secondary::-moz-focus-inner, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-popup .modal-footer .secondary::-moz-focus-inner, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-custom .modal-footer .secondary::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary, body.checkout-index-index .modal-slide .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-slide .modal-footer .secondary, body.checkout-index-index
      .modal-slide .modal-footer .secondary:visited, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-popup .modal-footer .secondary, body.checkout-index-index
      .modal-popup .modal-footer .secondary:visited, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-custom .modal-footer .secondary, body.checkout-index-index
      .modal-custom .modal-footer .secondary:visited {
        cursor: pointer;
        border-radius: 0px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid #2d3e50;
        color: #2d3e50;
        background-color: #fff; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-slide .modal-footer .secondary *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:visited *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-popup .modal-footer .secondary *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:visited *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-custom .modal-footer .secondary *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:visited * {
          color: #2d3e50;
          fill: #2d3e50; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index .modal-slide .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index .modal-slide .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:active:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:active:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid #2d3e50;
        color: #fff;
        background-color: #2d3e50; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:active:not([disabled]) * {
          color: #fff;
          fill: #fff; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-slide .modal-footer .secondary[disabled], body.checkout-index-index
      .modal-popup .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-popup .modal-footer .secondary[disabled], body.checkout-index-index
      .modal-custom .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-custom .modal-footer .secondary[disabled] {
        opacity: 0.65;
        cursor: auto; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary span, body.checkout-index-index
      .modal-slide .modal-footer .secondary span, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary span, body.checkout-index-index
      .modal-popup .modal-footer .secondary span, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary span, body.checkout-index-index
      .modal-custom .modal-footer .secondary span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal; }
  .modal-slide .modal-footer button:only-child,
  .modal-popup .modal-footer button:only-child,
  .modal-custom .modal-footer button:only-child {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    min-width: 12rem; }
    .modal-slide .modal-footer button:only-child::-moz-focus-inner,
    .modal-popup .modal-footer button:only-child::-moz-focus-inner,
    .modal-custom .modal-footer button:only-child::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer button:only-child, .modal-slide .modal-footer button:only-child:visited,
    .modal-popup .modal-footer button:only-child,
    .modal-popup .modal-footer button:only-child:visited,
    .modal-custom .modal-footer button:only-child,
    .modal-custom .modal-footer button:only-child:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .modal-slide .modal-footer button:only-child *, .modal-slide .modal-footer button:only-child:visited *,
      .modal-popup .modal-footer button:only-child *,
      .modal-popup .modal-footer button:only-child:visited *,
      .modal-custom .modal-footer button:only-child *,
      .modal-custom .modal-footer button:only-child:visited * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer button:only-child:hover:not([disabled]), .modal-slide .modal-footer button:only-child:focus:not([disabled]), .modal-slide .modal-footer button:only-child:active:not([disabled]),
    .modal-popup .modal-footer button:only-child:hover:not([disabled]),
    .modal-popup .modal-footer button:only-child:focus:not([disabled]),
    .modal-popup .modal-footer button:only-child:active:not([disabled]),
    .modal-custom .modal-footer button:only-child:hover:not([disabled]),
    .modal-custom .modal-footer button:only-child:focus:not([disabled]),
    .modal-custom .modal-footer button:only-child:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .modal-slide .modal-footer button:only-child:hover:not([disabled]) *, .modal-slide .modal-footer button:only-child:focus:not([disabled]) *, .modal-slide .modal-footer button:only-child:active:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:hover:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:focus:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:active:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:hover:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:focus:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer button:only-child[disabled],
    .modal-popup .modal-footer button:only-child[disabled],
    .modal-custom .modal-footer button:only-child[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .modal-slide .modal-footer button:only-child span,
    .modal-popup .modal-footer button:only-child span,
    .modal-custom .modal-footer button:only-child span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }

.modal-slide .modal-title,
.modal-popup .modal-title,
.modal-custom .modal-title {
  font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.8rem;
  line-height: 1.1;
  color: #2d3e50;
  font-weight: 500;
  text-transform: none;
  margin: 1rem 0 2rem;
  padding: 2rem;
  border-bottom: 1px solid #dcdcdc;
  margin: 0; }

@media (max-width: 47.99em) {
  .modal-popup.modal-slide .modal-inner-wrap[class] {
    background-color: #fff; } }

@media (max-width: 29.99em) {
  .modal-slide .modal-footer {
    flex-wrap: wrap; } }

@media (max-width: 29.99em) {
  .modal-slide .modal-footer .action-primary,
  .modal-slide .modal-footer .primary {
    width: 100%; } }

@media (max-width: 29.99em) {
  .modal-slide .modal-footer .action-secondary,
  .modal-slide .modal-footer .secondary {
    width: 100%;
    margin-bottom: 1.5rem !important; } }

.page-layout-checkout .modal-popup {
  pointer-events: auto; }

@media (min-width: 48em) {
  .page-layout-checkout .modal-slide {
    width: 80%;
    max-width: 65rem;
    left: 50%;
    transform: translateX(-50%); } }

.modals-overlay {
  background-color: rgba(0, 0, 0, 0.7); }

/* stylelint-enable */

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-navigation-teaser__figure {
  display: block;
  max-height: 100%;
  overflow: hidden; }

.cs-navigation-teaser__image {
  display: block; }

.cs-navigation-teaser__content-wrapper {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 6rem 3rem; }

.cs-navigation-teaser__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  color: #212121;
  text-align: center; }

.cs-navigation-teaser__headline {
  margin: 0 0 1rem;
  font-size: 3rem;
  line-height: 1.15;
  font-weight: 700;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__headline {
      font-size: 4.3rem;
      line-height: 1; } }

.cs-navigation-teaser__subheadline {
  margin: 0 0 1rem;
  font-size: 1.65rem;
  line-height: 1.15;
  font-weight: 400;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__subheadline {
      font-size: 2.8rem;
      line-height: 1.25; } }

.cs-navigation-teaser__text {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.15;
  font-weight: 300;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__text {
      font-size: 1.4rem; } }

.cs-navigation-teaser__cta {
  margin-top: 2rem; }

.cs-navigation-teaser__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-navigation-teaser__button:hover, .cs-navigation-teaser__button:focus, .cs-navigation-teaser__button:active {
    background-color: #2d3e50 !important; }
  .cs-navigation-teaser__button:before, .cs-navigation-teaser__button:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-navigation-teaser__button:before {
    width: 0;
    border-radius: 0 0px 0px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
  .cs-navigation-teaser__button:after {
    width: 0;
    min-width: auto;
    background-color: #777;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 0px; }
  .cs-navigation-teaser__button:hover:after {
    width: calc(100% + 2px); }
  .cs-navigation-teaser__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-navigation-teaser__button, .cs-navigation-teaser__button:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #2d3e50; }
    .cs-navigation-teaser__button *, .cs-navigation-teaser__button:visited * {
      color: #fff;
      fill: #fff; }
  .cs-navigation-teaser__button:hover:not([disabled]), .cs-navigation-teaser__button:focus:not([disabled]), .cs-navigation-teaser__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #777; }
    .cs-navigation-teaser__button:hover:not([disabled]) *, .cs-navigation-teaser__button:focus:not([disabled]) *, .cs-navigation-teaser__button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-navigation-teaser__button[disabled] {
    opacity: 0.65;
    cursor: auto; }

.cs-navigation-teaser__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal;
  padding-left: 0;
  padding-right: 4em; }

.cs-navigation-teaser__button-icon {
  max-width: 1em;
  max-height: 1.4rem;
  z-index: 2;
  height: auto;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  margin-right: 0;
  right: 1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-navigation {
  box-sizing: border-box;
  font-size: 1.2rem; }
  .cs-navigation__list {
    list-style: none;
    padding: 0 20px;
    margin: 0; }
    .cs-navigation__list--main {
      position: relative;
      display: flex;
      flex-wrap: nowrap;
      background: #2d3e50; }
    .cs-navigation__list--all-categories {
      width: 100%;
      -moz-columns: auto 1;
           columns: auto 1;
      -moz-column-gap: 0;
           column-gap: 0;
      flex: 1 0 auto; }
    .cs-navigation__list--level_1 {
      width: 100%;
      -moz-columns: auto 1;
           columns: auto 1;
      -moz-column-gap: 0;
           column-gap: 0;
      flex: 1 0 auto; }
    .cs-navigation__list--level_2 {
      flex-wrap: wrap; }
    .cs-navigation__list--hidden {
      display: none; }
      .cs-navigation__list--hidden + .cs-navigation__extras {
        display: none; }
    .cs-navigation__list .cs-navigation__item--no-children:nth-child(2) {
      padding-top: 1rem; }
    .cs-navigation__list .cs-navigation__item--no-children:last-of-type {
      padding-bottom: 1rem; }
  .cs-navigation__item {
    font-size: 1em;
    margin: 0 20px 0 0;
    width: 100%;
    position: relative; }
    .cs-navigation__item .special-price {
      background-color: green;
      color: #fff;
      font-size: 1.1rem;
      font-weight: 700;
      position: absolute;
      top: -7px;
      right: -25px;
      z-index: 999;
      padding: 3px; }
    .cs-navigation__item--active:not([data-category-identifier='all-categories']) > .cs-navigation__link, .cs-navigation__item.active:not([data-category-identifier='all-categories']) > .cs-navigation__link, .cs-navigation__item:active:not([data-category-identifier='all-categories']) > .cs-navigation__link, .cs-navigation__item:focus:not([data-category-identifier='all-categories']) > .cs-navigation__link, .cs-navigation__item:hover:not([data-category-identifier='all-categories']) > .cs-navigation__link {
      color: #2d3e50;
      background: #f5f5f5; }
    .cs-navigation__item > .cs-navigation__link--active, .cs-navigation__item > .cs-navigation__link.active, .cs-navigation__item > .cs-navigation__link:active, .cs-navigation__item > .cs-navigation__link:focus, .cs-navigation__item > .cs-navigation__link:hover {
      color: #2d3e50;
      background: #f5f5f5; }
    .cs-navigation__item--main {
      width: auto;
      font-size: 1em; }
    .cs-navigation__item--all-categories {
      padding: 1rem;
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      -moz-column-break-inside: avoid;
           break-inside: avoid-column;
      /* IE 11 */
      display: table; }
    .cs-navigation__item--level_1 {
      padding: 1rem;
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      -moz-column-break-inside: avoid;
           break-inside: avoid-column;
      /* IE 11 */
      display: table; }
    .cs-navigation__item--hidden {
      display: none; }
  .cs-navigation__link {
    display: block;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Futura LT W04 Bold1475826", sans-serif;
    padding: 15px 9px;
    width: 100%; }
    .cs-navigation__link, .cs-navigation__link:visited {
      color: #fff; }
    .cs-navigation__link:hover {
      text-decoration: none;
      color: #2d3e50; }
      .cs-navigation__link:hover .cs-navigation__link-icon--svg path {
        fill: #2d3e50; }
    .cs-navigation__link--main {
      font-weight: 700; }
    .cs-navigation__link--all-categories {
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding-bottom: 1.6em; }
    .cs-navigation__link--level_1 {
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding-bottom: 1.6em; }
    .cs-navigation__link--level_2 {
      text-transform: none;
      font-size: 1.25em; }
    .cs-navigation__link--with-icon {
      position: relative;
      padding-left: 3rem; }
    .cs-navigation__link-icon-wrapper {
      position: absolute;
      width: 2rem;
      height: 2rem;
      top: 0;
      left: 0;
      margin-top: 0.8em; }
    .cs-navigation__link-icon {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0);
      height: 2rem;
      width: 2rem; }
      .cs-navigation__link--category .cs-navigation__link-icon {
        margin-top: -0.5rem; }
      .cs-navigation__link-icon--svg path {
        fill: #484848; }
    .cs-navigation__link-products-qty:before {
      content: '('; }
    .cs-navigation__link-products-qty:after {
      content: ')'; }
  .cs-navigation .cs-navigation__item--no-children {
    padding: 0; }
  .cs-navigation .cs-navigation__item--no-children > .cs-navigation__link--level_1 {
    text-transform: none;
    font-size: 1.12em;
    font-weight: 400;
    padding: 0.9em 1.5em;
    border: none;
    color: #fff; }
  .cs-navigation__flyout {
    position: absolute;
    display: none;
    background: #fff;
    left: 0;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    z-index: 1001;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    margin-top: -1px; }
    .cs-navigation__flyout--visible {
      display: flex; }
    .cs-navigation__flyout svg {
      pointer-events: none; }
    @supports (-ms-ime-align: auto) {
      .cs-navigation__flyout li {
        list-style: none;
        list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
        list-style-type: none; } }
  .cs-navigation__extras {
    margin: 0; }
  .cs-navigation__teaser {
    position: relative;
    max-height: 100%;
    padding: 1em 0;
    overflow: hidden;
    margin-bottom: 0 !important; }
    .cs-navigation__teaser--hidden {
      display: none; }
    .cs-navigation__teaser .cs-image-teaser__figure {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }
  .cs-navigation__products {
    padding: 0.5em 1em;
    min-width: 24rem; }
    .cs-navigation__products-header {
      display: block;
      color: #fff;
      text-transform: uppercase;
      width: 100%;
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding: 1.1em 1.05em 1.55em;
      font-size: 0.9em; }
    .cs-navigation__products-list {
      margin: 0;
      padding: 0;
      list-style: none; }
  .cs-navigation__product {
    position: relative; }
    .cs-navigation__product:before {
      display: block;
      content: '';
      width: 100%;
      padding-top: 170%; }
    .cs-navigation__product .cs-product-tile {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .cs-navigation__overlay {
    display: none;
    position: absolute;
    z-index: 1000;
    background-color: #000;
    opacity: 0;
    left: 0;
    width: 100%;
    height: 0;
    transform: translate3d(0, 3rem, 0);
    transition: opacity 0.15s linear, transform 0.2s cubic-bezier(0, 0.97, 0.05, 0.99); }
    .cs-navigation__overlay--visible {
      opacity: 0.8;
      transform: translate3d(0, 0, 0); }
  .page-print .cs-navigation {
    display: none; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-navigation__product {
      position: relative; }
      .cs-navigation__product:before {
        content: none; }
      .cs-navigation__product .cs-product-tile {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto; } }

.cs-container--navigation {
  display: none; }
  @media (min-width: 64em) {
    .cs-container--navigation {
      display: block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-newsletter {
  margin: 0;
  width: 100%; }
  @media (max-width: 47.99em) {
    .cs-newsletter {
      padding: 0 1.5rem; } }
  .cs-newsletter__form {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden; }
    @media (min-width: 48em) {
      .cs-newsletter__form {
        max-width: 34rem; } }
    @media (min-width: 64em) {
      .cs-newsletter__form {
        max-width: 100%; } }
  .cs-newsletter__form-wrapper {
    display: flex;
    flex-basis: 100%; }
  .cs-newsletter__field {
    flex-basis: 100%; }
  .cs-newsletter__input {
    margin-top: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important; }
  .cs-newsletter__label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-newsletter__actions {
    display: flex;
    align-items: stretch;
    height: 4rem; }
  .cs-newsletter__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important; }
    .cs-newsletter__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-newsletter__button, .cs-newsletter__button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-newsletter__button *, .cs-newsletter__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-newsletter__button:hover:not([disabled]), .cs-newsletter__button:focus:not([disabled]), .cs-newsletter__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-newsletter__button:hover:not([disabled]) *, .cs-newsletter__button:focus:not([disabled]) *, .cs-newsletter__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-newsletter__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-newsletter__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: relative;
    top: 0.1em;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-user-nav {
  list-style: none;
  margin: 0;
  padding: 0 0;
  height: 100%;
  flex: 0 1 30%; }
  .cs-header-user-nav__item {
    margin-bottom: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 0 1 33%; }
    .cs-header-user-nav__item--language {
      flex: 0 1 33%; }
    @media (min-width: 64em) {
      .cs-header-user-nav__item--search {
        display: none; } }
  .cs-header-user-nav__link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    width: 100%;
    padding: 1rem; }
    .cs-header-user-nav__link:hover {
      text-decoration: none; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__icon path {
        fill: #2d3e50; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__label {
        color: #2d3e50; }
    .cs-header-user-nav__link--search:hover {
      cursor: pointer; }
  .cs-header-user-nav__icon-wrapper {
    position: relative; }
  .cs-header-user-nav__icon {
    width: 2rem;
    height: 2rem;
    display: block;
    margin: 0 auto; }
    .cs-header-user-nav__icon path {
      fill: #2d3e50; }
  .cs-header-user-nav__label {
    text-transform: none;
    font-size: 1.3rem;
    font-weight: 300;
    margin-top: 0.3rem !important;
    color: #2d3e50;
    text-decoration: none;
    display: block;
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
    @media (min-width: 48em) {
      .cs-header-user-nav__label {
        clip: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        padding: 0;
        position: static;
        width: auto;
        white-space: normal; } }
  .cs-header-user-nav__qty-counter {
    display: inline-flex;
    background-color: #2d3e50;
    color: #fff;
    border: 0;
    border-radius: 0.2rem;
    padding: 0 0.6rem;
    position: relative;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    line-height: 100%;
    font-weight: 700;
    height: 1.8em;
    background-clip: padding-box;
    position: absolute;
    right: -0.5rem;
    top: -0.5rem;
    opacity: 0;
    transition: opacity 0.3s; }
    @media (min-width: 48em) {
      .cs-header-user-nav__qty-counter {
        right: -1rem; } }
    .cs-header-user-nav__qty-counter--wishlist {
      background-color: #2d3e50;
      color: #000; }
    .cs-header-user-nav__qty-counter--minicart {
      background-color: #e41f12;
      color: #fff; }
    .cs-header-user-nav__qty-counter--compare {
      background-color: #2d3e50;
      color: #000; }
    .cs-header-user-nav__qty-counter--have-items {
      opacity: 1; }
  .cs-header-user-nav__qty-counter-span {
    min-width: 1ch; }
  @media (max-width: 48em) {
    .cs-header-user-nav .cs-header-user-nav__item--checkout {
      display: none; } }

.cs-offcanvas-toggle {
  position: relative;
  display: flex;
  border: 0;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  align-self: stretch;
  height: 100%;
  width: 100%; }
  .cs-offcanvas-toggle, .cs-offcanvas-toggle:active, .cs-offcanvas-toggle:focus, .cs-offcanvas-toggle:hover {
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0; }
  .cs-offcanvas-toggle:after {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    transform: scale(0);
    background: #2d3e50;
    transition: transform 0.3s;
    bottom: 0;
    left: 0;
    transform-origin: left; }
  .cs-offcanvas-toggle--active, .cs-offcanvas-toggle--active:active, .cs-offcanvas-toggle--active:focus, .cs-offcanvas-toggle--active:hover {
    background: #2d3e50; }
  .cs-offcanvas-toggle--active:after {
    transform: scale(1); }
  .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon {
    transform: rotate(-45deg); }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:after {
      background: #fff; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:after {
      transform: rotate(90deg); }
  .cs-offcanvas-toggle__icon {
    padding: 0;
    margin: 0;
    position: relative; }
    .cs-offcanvas-toggle__icon, .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle__icon:after {
      width: 1.8rem;
      height: 0.2rem;
      background: #2d3e50;
      transition: background-color 0.3s, transform 0.3s; }
    .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle__icon:after {
      content: '';
      display: block;
      position: absolute; }
    .cs-offcanvas-toggle__icon:before {
      transform: translateY(-250%);
      transform: translate3d(0, -250%, 0); }
    .cs-offcanvas-toggle__icon:after {
      transform: translateY(250%);
      transform: translate3d(0, 250%, 0); }
  .cs-offcanvas-toggle__text {
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 0.8rem;
    color: #2d3e50;
    text-transform: uppercase;
    transition: color 0.3s; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__text {
      color: #fff; }
    @media (min-width: 48em) {
      .cs-offcanvas-toggle__text {
        bottom: 2rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-offcanvas-navigation {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff; }
  .cs-offcanvas-navigation__list {
    z-index: 1;
    width: 100%;
    min-width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #fff;
    overflow-y: hidden;
    overflow-x: hidden;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    display: none; }
    .cs-offcanvas-navigation__list--level_0, .cs-offcanvas-navigation__list--current, .cs-offcanvas-navigation__list--active {
      display: block; }
    .cs-offcanvas-navigation__list--level_0, .cs-offcanvas-navigation__list--current {
      overflow-y: auto; }
    .cs-offcanvas-navigation__list--current > .cs-offcanvas-navigation__item > .cs-offcanvas-navigation__list {
      display: block; }
    .cs-offcanvas-navigation__list .cs-offcanvas-navigation__list {
      position: absolute;
      left: 105%;
      height: 100%;
      top: 0;
      transition: transform 0.3s; }
      .cs-offcanvas-navigation__list .cs-offcanvas-navigation__list--active {
        transform: translateX(-105%);
        transform: translate3d(-105%, 0, 0); }
  .cs-offcanvas-navigation__item {
    width: 100%;
    display: flex;
    overflow: hidden;
    margin: 0; }
    .cs-offcanvas-navigation__item + .cs-offcanvas-navigation__item {
      border-top: 1px #dcdcdc solid; }
    .cs-offcanvas-navigation__item:last-of-type {
      border-bottom: 1px #dcdcdc solid; }
    .cs-offcanvas-navigation__item--with-icon .cs-offcanvas-navigation__text {
      position: relative;
      padding-left: 2rem; }
  .cs-offcanvas-navigation__link {
    min-width: 100%;
    width: 100%;
    display: flex;
    padding: 2.4rem 2rem;
    font-size: 1.6rem;
    align-items: center;
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
    font-family: "Futura LT W04 Bold1475826", sans-serif; }
    .cs-offcanvas-navigation__link, .cs-offcanvas-navigation__link:visited {
      color: #2d3e50; }
    .cs-offcanvas-navigation__link:hover {
      color: #2d3e50; }
    .cs-offcanvas-navigation__link--sign-in, .cs-offcanvas-navigation__link--sign-out {
      display: none;
      padding-right: 5rem; }
      .cs-offcanvas-navigation__link--sign-in, .cs-offcanvas-navigation__link--sign-in:visited, .cs-offcanvas-navigation__link--sign-out, .cs-offcanvas-navigation__link--sign-out:visited {
        color: #2d3e50; }
      .cs-offcanvas-navigation__link--sign-in:hover, .cs-offcanvas-navigation__link--sign-out:hover {
        color: #2d3e50; }
        .cs-offcanvas-navigation__link--sign-in:hover .cs-offcanvas-navigation__icon path, .cs-offcanvas-navigation__link--sign-out:hover .cs-offcanvas-navigation__icon path {
          fill: #2d3e50; }
      .cs-offcanvas-navigation__link--sign-in .cs-offcanvas-navigation__icon, .cs-offcanvas-navigation__link--sign-out .cs-offcanvas-navigation__icon {
        width: 2.3rem;
        height: 2.7rem;
        right: 2rem; }
        .cs-offcanvas-navigation__link--sign-in .cs-offcanvas-navigation__icon path, .cs-offcanvas-navigation__link--sign-out .cs-offcanvas-navigation__icon path {
          fill: #2d3e50; }
    .cs-offcanvas-navigation__link--parent .cs-offcanvas-navigation__icon, .cs-offcanvas-navigation__link--return .cs-offcanvas-navigation__icon {
      width: 0.7rem;
      height: 0.1rem; }
    .cs-offcanvas-navigation__link--parent {
      padding-right: 5rem; }
      .cs-offcanvas-navigation__link--parent .cs-offcanvas-navigation__icon {
        right: 2rem; }
    .cs-offcanvas-navigation__link--return {
      padding-left: 5rem; }
      .cs-offcanvas-navigation__link--return .cs-offcanvas-navigation__icon {
        left: 2rem; }
    .cs-offcanvas-navigation__link--next {
      position: relative; }
      .cs-offcanvas-navigation__link--next:before, .cs-offcanvas-navigation__link--next:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.7rem;
        height: 0.1rem;
        left: auto;
        background-color: #2d3e50;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:before, .cs-offcanvas-navigation__link--next[aria-expanded="true"]:after {
        background-color: #888; }
      .cs-offcanvas-navigation__link--next:before {
        transform: rotate(135deg) translate3d(50%, 0, 0);
        right: 2rem; }
      .cs-offcanvas-navigation__link--next:after {
        right: 2rem;
        transform: rotate(-135deg) translate3d(50%, 0, 0); }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:before {
        transform: rotate(225deg) translate3d(0, 0, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:after {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: 2rem; }
    .cs-offcanvas-navigation__link--prev {
      position: relative; }
      .cs-offcanvas-navigation__link--prev:before, .cs-offcanvas-navigation__link--prev:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.7rem;
        height: 0.1rem;
        left: auto;
        background-color: #2d3e50;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:before, .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:after {
        background-color: #888; }
      .cs-offcanvas-navigation__link--prev:before {
        transform: rotate(45deg) translate3d(50%, -50%, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--prev:after {
        right: 0;
        transform: rotate(-45deg) translate3d(50%, 50%, 0); }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:before {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: auto; }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:after {
        transform: rotate(-135deg) translate3d(0, 0, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--prev:before, .cs-offcanvas-navigation__link--prev:after {
        left: 2rem; }
  .cs-offcanvas-navigation .active > .cs-offcanvas-navigation__link {
    color: #2d3e50; }
  .cs-offcanvas-navigation__icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    .cs-offcanvas-navigation__icon path {
      fill: #2d3e50; }
  .cs-offcanvas-navigation__category-icon-wrapper {
    position: relative;
    width: 2rem;
    margin-right: 1rem; }
  .cs-offcanvas-navigation__category-icon {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate3d(0, -50%, 0);
    max-height: 2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-offcanvas {
  position: relative;
  z-index: 300; }
  .cs-offcanvas__drawer, .cs-offcanvas__overlay {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    top: 5rem; }
    @media (min-width: 48em) {
      .cs-offcanvas__drawer, .cs-offcanvas__overlay {
        top: 11rem;
        bottom: 0; } }
    @media (min-width: 64em) {
      .cs-offcanvas__drawer, .cs-offcanvas__overlay {
        display: none; } }
    .cs-offcanvas--mini-cart .cs-offcanvas__drawer, .cs-offcanvas--mini-cart .cs-offcanvas__overlay {
      display: block;
      top: 0; }
  .cs-offcanvas__overlay {
    width: 100%;
    height: calc(100% - 5rem);
    background-color: transparent;
    transition: background-color 0.3s, transform 1ms 0.3s;
    transform: scale(0);
    cursor: pointer; }
    @media (min-width: 48em) {
      .cs-offcanvas__overlay {
        height: 100%; } }
    .cs-offcanvas--mini-cart .cs-offcanvas__overlay {
      height: 100%; }
  .cs-offcanvas .overlay--visible {
    transform: scale(1);
    background: rgba(0, 0, 0, 0.7);
    transition: background-color 0.3s; }
  .cs-offcanvas__drawer {
    position: fixed;
    background: #fff;
    transition: transform 0.3s;
    width: 90%;
    max-width: 40rem; }
    .cs-offcanvas--side_left .cs-offcanvas__drawer {
      left: 0;
      right: auto;
      transform: translate3d(-105%, 0, 0); }
    .cs-offcanvas--side_right .cs-offcanvas__drawer {
      left: auto;
      right: 0;
      transform: translate3d(105%, 0, 0); }
    .cs-offcanvas__drawer--navigation {
      left: 0;
      right: auto;
      transform: translate3d(-105%, 0, 0); }
  .cs-offcanvas .drawer--visible {
    transform: translate3d(0, 0, 0) !important; }
  .cs-offcanvas__spinner {
    position: absolute;
    width: 6rem;
    height: 6rem;
    left: 50%;
    top: 20%;
    margin-left: -3rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.page-title {
  font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2.6rem;
  line-height: 1.1;
  color: #2d3e50;
  font-weight: 500;
  text-transform: none;
  margin: 1rem 0 2rem;
  padding-bottom: 1rem;
  text-transform: none;
  font-weight: 600; }
  .page-title__headline {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    display: inline; }
  .page-title__span {
    color: #696969;
    font-weight: 300;
    padding: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-page-bottom {
  padding: 1.5rem 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48em) {
    .cs-page-bottom {
      flex-wrap: wrap;
      justify-content: flex-start; } }
  @media (min-width: 64em) {
    .cs-page-bottom {
      flex-wrap: nowrap;
      justify-content: space-between; } }
  .page-print .cs-page-bottom {
    display: none; }
  .cs-page-bottom__image {
    height: 3rem;
    width: auto; }
    .cs-page-bottom__image--circle {
      width: 4.7rem;
      height: 4.7rem;
      min-width: 4.7rem;
      min-height: 4.7rem;
      margin-right: 1rem; }
  .cs-page-bottom__text {
    font-size: 1.2rem;
    color: #696969;
    margin-bottom: 0;
    margin-right: 0.6rem; }
    .cs-page-bottom__text--small {
      font-size: 1rem; }
  .cs-page-bottom__group {
    display: flex;
    align-items: center;
    flex-grow: 1;
    flex-shrink: 1;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-page-bottom__group {
        width: 100%;
        padding: 1rem 0; } }
    @media (min-width: 64em) {
      .cs-page-bottom__group {
        width: auto;
        padding: 0; } }
    .cs-page-bottom__group--info {
      display: none;
      flex-direction: row-reverse; }
      @media (min-width: 48em) {
        .cs-page-bottom__group--info {
          display: flex;
          flex-basis: 40%;
          justify-content: flex-end;
          padding-right: 1.5rem; }
          .cs-page-bottom__group--info .cs-page-bottom__text {
            max-width: 20rem; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--info {
          flex-basis: 17%;
          padding-right: 0; }
          .cs-page-bottom__group--info .cs-page-bottom__text {
            max-width: 100%; } }
    .cs-page-bottom__group--shipping {
      display: none; }
      @media (min-width: 48em) {
        .cs-page-bottom__group--shipping {
          display: flex;
          flex-basis: 55%;
          padding-left: 1.5rem; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--shipping {
          flex-basis: 33%;
          padding-left: 4rem; } }
    .cs-page-bottom__group--payment {
      flex-basis: 50%; }
      @media (max-width: 47.99em) {
        .cs-page-bottom__group--payment .cs-page-bottom__text {
          display: none; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-page-bottom__group--payment {
    flex-basis: 100%; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--payment {
          padding-left: 4rem; } }
    @media (min-width: 64em) {
      .cs-page-bottom__group--shipping, .cs-page-bottom__group--payment {
        position: relative; }
        .cs-page-bottom__group--shipping:before, .cs-page-bottom__group--payment:before {
          margin: 0 1rem;
          content: '';
          position: absolute;
          left: 1rem;
          top: 50%;
          width: 0.2rem;
          height: 2rem;
          background: #dcdcdc;
          transform: translateY(-50%); } }
  .cs-page-bottom__logo {
    display: flex;
    flex-shrink: 1;
    height: 2rem; }
    @media (max-width: 63.99em) {
      .cs-page-bottom__logo {
        width: auto; } }
    .cs-page-bottom__logo--hermes {
      width: 12.2rem; }
    .cs-page-bottom__logo--dhl {
      height: auto;
      max-height: 2rem;
      min-width: 8.6rem;
      padding-left: 10px; }
    .cs-page-bottom__logo--paypal {
      width: 6.2rem; }
    .cs-page-bottom__logo--visa {
      height: auto;
      max-height: 2rem;
      min-width: 5.5rem; }
    .cs-page-bottom__logo--mastercard {
      width: 3.3rem; }
    .cs-page-bottom__logo--klarna-sofort {
      height: auto;
      max-height: 2.5rem;
      min-height: 2.5rem; }
    .cs-page-bottom__logo--klarna {
      width: 7rem; }
    .cs-page-bottom__logo--gls {
      width: 5rem; }
    .cs-page-bottom__logo--giropay {
      width: 4.8rem; }
    .cs-page-bottom__logo--ec {
      width: 1.8rem; }
    .cs-page-bottom__logo--paydirekt {
      width: 6rem; }
    .cs-page-bottom__logo--lastschrift {
      width: 6.15rem; }
    .cs-page-bottom__logo--vorkasse {
      width: 8.3rem; }
    .cs-page-bottom__logo--rechnung {
      width: 6.15rem; }
    .cs-page-bottom__logo:not(:last-child) {
      margin-right: 0.5rem; }

.cs-container--page-bottom {
  max-width: none;
  background: #2d3e50;
  color: #fff;
  padding: 20px 0; }
  @media (max-width: 64em) {
    .cs-container--page-bottom {
      text-align: center; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.price-box {
  display: inline-block; }
  .price-box .price {
    font-weight: 700;
    white-space: nowrap; }
    .price-box .price-label {
      display: none; }
  .price-box .old-price .price {
    font-size: 0.65rem;
    text-decoration: line-through; }
  .price-box .old-price.no-display {
    display: none; }
  .price-box .special-price .price {
    padding-left: 0.4em; }
  .price-box .price-container {
    display: flex;
    flex-direction: column-reverse; }
  .price-box .price {
    color: #2d3e50;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0; }
    .price-box .price-label {
      display: none;
      color: #2d3e50;
      font-size: 1.5rem;
      font-weight: 700;
      text-transform: none;
      margin: 0 0.3rem 0.3rem 0; }
      body
p
.price-box .price-label {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ }
  .price-box .price-wrapper {
    display: flex; }
  .price-box .price-from,
  .price-box .price-to {
    display: inline-block;
    margin: 0;
    padding: 0; }
    .price-box .price-from > .price-container,
    .price-box .price-to > .price-container {
      font-size: 1.5rem; }
    .price-box .price-from .price-label,
    .price-box .price-to .price-label {
      display: inline-block;
      padding: 0; }
  .price-box .old-price .price {
    text-decoration: line-through;
    color: #696969;
    font-size: 1.5rem;
    font-weight: 700; }
  .price-box .special-price .price {
    padding-left: 0;
    color: #e41f12;
    font-size: 1.5rem;
    font-weight: 700; }
  .price-box .special-price.active .price {
    color: #e41f12; }
  .price-box .price-from {
    margin-right: 1rem; }
  .cs-price--pdp_dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
    display: none; }
  .price-box .price-container.price-final_price:not(:only-child) .price {
    color: #e41f12; }
  .price-box .price-container .price-including-tax,
  .price-box .special-price .price-container .price-including-tax {
    display: flex;
    justify-content: space-between; }
    .price-box .price-container .price-including-tax:before,
    .price-box .special-price .price-container .price-including-tax:before {
      content: attr(data-label); }
    .price-box .price-container .price-including-tax:before,
    .price-box .price-container .price-including-tax .price,
    .price-box .special-price .price-container .price-including-tax:before,
    .price-box .special-price .price-container .price-including-tax .price {
      font-size: 16px;
      color: #2d3e50;
      line-height: 22px;
      font-weight: bold; }
  .price-box .price-container .price-excluding-tax,
  .price-box .special-price .price-container .price-excluding-tax {
    display: flex;
    justify-content: space-between; }
    .price-box .price-container .price-excluding-tax:before,
    .price-box .special-price .price-container .price-excluding-tax:before {
      content: attr(data-label); }
    .price-box .price-container .price-excluding-tax:before,
    .price-box .price-container .price-excluding-tax .price,
    .price-box .special-price .price-container .price-excluding-tax:before,
    .price-box .special-price .price-container .price-excluding-tax .price {
      font-size: 16px;
      color: #444;
      line-height: 22px;
      font-weight: bold; }
  .price-box .old-price .price-container .price-including-tax {
    display: flex;
    justify-content: space-between; }
    .price-box .old-price .price-container .price-including-tax:before {
      content: attr(data-label); }
    .price-box .old-price .price-container .price-including-tax:before,
    .price-box .old-price .price-container .price-including-tax .price {
      font-size: 16px;
      color: #ccc;
      line-height: 22px;
      font-weight: bold;
      text-decoration: line-through; }

.cs-bundle-box__add .price-as-configured {
  margin: 1rem 0 0; }

.minimal-price-link {
  margin-top: 0 !important;
  margin-right: 1.5rem;
  position: relative; }
  .minimal-price-link:after {
    color: #2d3e50;
    display: block;
    content: '-';
    right: -1rem;
    top: 0;
    position: absolute; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * String to number converter
 * https://www.sassmeister.com/gist/9fa19d254864f33d4a80
 * @author Hugo Giraudel
 * @param {String | Number} $value - Value to be parsed
 * @return {Number}
 */
/***
 * Remove browser's margins, paddings and list style rules
 */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * String to number converter
 * https://www.sassmeister.com/gist/9fa19d254864f33d4a80
 * @author Hugo Giraudel
 * @param {String | Number} $value - Value to be parsed
 * @return {Number}
 */
/***
 * Remove browser's margins, paddings and list style rules
 */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-product-tile {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 0px;
  background-color: #fff; }
  @media (min-width: 64em) {
    .cs-product-tile:hover {
      z-index: 5; } }
  .cs-product-tile--clickable:hover {
    cursor: pointer; }
  .cs-product-tile--hidden .cs-product-tile__main,
  .cs-product-tile--hidden .cs-product-tile__addons {
    visibility: hidden !important; }
  .cs-product-tile--grid.cs-product-tile--static .cs-product-tile__addons {
    display: none; }
  .cs-product-tile__container {
    display: flex;
    height: 100%;
    width: 100%; }
    .cs-product-tile--grid .cs-product-tile__container {
      flex-direction: column;
      padding: 1.5rem; }
    .cs-product-tile--list .cs-product-tile__container {
      flex-direction: row;
      padding: 1.5rem 0; }
  .cs-product-tile--list .cs-product-tile__link {
    display: flex;
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__link {
    display: block;
    height: 100%; }
  .cs-product-tile__thumbnail {
    padding: 0;
    display: flex; }
  .cs-product-tile__thumbnail-link {
    display: block;
    position: relative;
    overflow: hidden; }
    .cs-product-tile--grid .cs-product-tile__thumbnail-link {
      width: 100%; }
    .cs-product-tile--list .cs-product-tile__thumbnail-link {
      padding: 0 1.5rem 0 0;
      height: 100%;
      flex-grow: initial; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__thumbnail-link {
          padding: 0; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__thumbnail-link {
        padding: 0 1.5rem 0 0; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__thumbnail-link {
            padding: 0; } }
    .cs-product-tile__thumbnail-link:hover, .cs-product-tile__thumbnail-link:visited {
      color: inherit;
      text-decoration: inherit; }
  .cs-product-tile__figure {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden; }
    .cs-product-tile--grid .cs-product-tile__figure {
      width: 100%;
      justify-content: flex-start;
      align-items: center;
      top: 0;
      position: relative; }
      .cs-product-tile--grid .cs-product-tile__figure:before {
        display: block;
        content: '';
        width: 100%;
        padding-top: 125.71429%; }
      .cs-product-tile--grid .cs-product-tile__figure .cs-product-tile__thumbnail-link {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
    .cs-product-tile--list .cs-product-tile__figure {
      width: 10rem;
      justify-content: center;
      align-items: flex-start; }
      @media (max-width: 29.99em) {
        .cs-product-tile--list .cs-product-tile__figure {
          width: 5rem; } }
      .cs-product-tile--list .cs-product-tile__figure:before {
        content: none; }
  .cs-product-tile__image {
    width: auto;
    height: auto;
    max-width: 100%;
    margin: auto; }
    .cs-product-tile--grid .cs-product-tile__image {
      position: absolute;
      top: 0;
      left: 0; }
    .cs-product-tile--list .cs-product-tile__image {
      max-height: 100%;
      position: relative !important;
      margin-top: 0; }
  .cs-product-tile__img {
    width: 100%;
    height: auto; }
  .cs-product-tile__badges {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap; }
    .cs-product-tile--list .cs-product-tile__badges--grid {
      display: none; }
    .cs-product-tile--grid .cs-product-tile__badges--list {
      display: none; }
    .cs-product-tile--grid .cs-product-tile__badges {
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0.3rem;
      flex-direction: column; }
    .cs-product-tile--list .cs-product-tile__badges {
      margin: 0 0 0 0.3rem;
      justify-content: flex-start; }
  .cs-product-tile__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #2d3e50;
    color: #fff;
    border: 0;
    border-radius: 0px;
    padding: 0 0.7rem;
    font-size: 1.1rem;
    font-weight: 700;
    min-height: 2em;
    text-transform: uppercase; }

@media (min-width: 23.125em) and (max-width: 29.99em) {
  .cs-product-tile__badge {
    font-size: 0.9rem; } }
    .cs-product-tile__badge--discount {
      background-color: green;
      color: #fff; }
      .cs-product-tile__badge--discount .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--discount .cs-product-tile__badge-text + .cs-product-tile__badge--discount .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--new {
      background-color: #2d3e50;
      color: #000; }
      .cs-product-tile__badge--new .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--new .cs-product-tile__badge-text + .cs-product-tile__badge--new .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--free-shipping {
      background-color: #37b841;
      color: #fff; }
      .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text + .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--popular {
      background-color: #37b841;
      color: #fff; }
      .cs-product-tile__badge--popular .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--popular .cs-product-tile__badge-text + .cs-product-tile__badge--popular .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--dailydeal {
      background-color: #e41f12;
      color: #fff; }
      .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text + .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
  .cs-product-tile__badge-item {
    display: flex; }
    .cs-product-tile--grid .cs-product-tile__badge-item {
      margin: 0 0 0.5rem;
      width: 100%; }
    .cs-product-tile--list .cs-product-tile__badge-item {
      margin: 0 1rem 0.3rem 0; }
    .cs-product-tile__badge-item:empty {
      display: none; }
  .cs-product-tile__badge-text {
    line-height: normal; }
    .cs-product-tile__badge-text + .cs-product-tile__badge-text {
      margin-left: 0.5rem; }
  .cs-product-tile--list .cs-product-tile__gallery {
    display: none !important; }
  .cs-product-tile__content {
    padding: 0;
    display: flex;
    align-items: stretch; }
    .cs-product-tile--grid .cs-product-tile__content {
      flex-direction: column;
      flex: 1 1; }
    .cs-product-tile--list .cs-product-tile__content {
      position: relative;
      flex: 1 1 auto;
      flex-direction: column-reverse; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__content {
          flex-direction: row-reverse; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__content {
        flex-direction: column-reverse; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__content {
            flex-direction: row-reverse; } }
  .cs-product-tile__addons {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    background: #fff;
    border-radius: 0px; }
    .cs-product-tile--list .cs-product-tile__addons {
      padding: 0;
      margin: 1rem 0 0;
      position: relative;
      z-index: 1;
      opacity: initial;
      box-shadow: none;
      transform: none;
      overflow: visible; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__addons {
          flex: 0 0 25rem;
          padding: 0 0 0 1.5rem;
          margin: 0;
          flex-direction: column;
          border-left: 1px solid #f0f0f0; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__addons {
        padding: 0;
        margin: 1rem 0 0;
        flex: 1 0 auto;
        flex-direction: row;
        border-left: none; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__addons {
            padding: 0 0 0 1.5rem;
            margin: 0;
            flex: 0 0 25rem;
            flex-direction: column;
            border-left: 1px solid #f0f0f0; } }
    .cs-product-tile--grid .cs-product-tile__addons {
      align-items: flex-end;
      opacity: 0;
      top: 0;
      padding: calc(130% + 10rem) 1.5rem 1.5rem;
      box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
      transform: translate3d(0, -3rem, 0); }
    @media (min-width: 64em) {
      .cs-product-tile:hover .cs-product-tile__addons {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        transition: opacity 0.1s linear, transform 0.33s cubic-bezier(0, 0.66, 0.32, 0.99); } }
  @media (min-width: 64em) and (pointer: coarse) {
    .cs-product-tile:hover .cs-product-tile__addons {
      opacity: 0;
      transform: none; } }
    .cs-product-tile:hover .cs-product-tile__addons .cs-product-tile.no-transition,
    .cs-product-tile--static .cs-product-tile:hover .cs-product-tile__addons {
      transition: none; }
  .cs-product-tile__addons-top {
    width: 100%; }
    .cs-product-tile--list .cs-product-tile__addons-top {
      flex: 1 1; }
  .cs-product-tile__addons-sides {
    display: flex;
    width: 100%; }
  .cs-product-tile__addons-right {
    padding-left: 1rem;
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    flex-direction: column; }
    .cs-product-tile--grid .cs-product-tile__addons-right {
      align-items: flex-end; }
    .cs-product-tile--list .cs-product-tile__addons-right {
      align-items: flex-start;
      padding-left: 0;
      order: -1; }
  .cs-product-tile__addons-bottom {
    width: 100%; }
    .cs-product-tile--list .cs-product-tile__addons-bottom {
      display: none; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__addons-bottom {
          display: block; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__addons-bottom {
        display: none; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__addons-bottom {
            display: block; } }
  .cs-product-tile__addons-left {
    padding-right: 1rem;
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    flex-direction: column; }
    .cs-product-tile--grid .cs-product-tile__addons-left {
      align-items: flex-start; }
    .cs-product-tile--list .cs-product-tile__addons-left {
      align-items: flex-end;
      padding-right: 0;
      order: 2; }
  .cs-product-tile__review--grid {
    margin: 1rem 0 0; }
    .cs-product-tile--list .cs-product-tile__review--grid {
      display: none; }
  .cs-product-tile__review--list {
    margin: 0 0 1rem; }
    @media (min-width: 48em) {
      .cs-product-tile__review--list {
        position: absolute;
        top: 0;
        right: 2rem; }
        .cs-product-tile--list .cs-product-tile__review--list + .cs-product-tile__name {
          padding-right: 12rem; } }
    .cs-products-list--with-sidebar .cs-product-tile__review--list {
      position: relative;
      top: initial;
      right: initial; }
      @media (min-width: 64em) {
        .cs-products-list--with-sidebar .cs-product-tile__review--list {
          position: absolute;
          top: 0;
          right: 2rem;
          margin: 0 0 1rem; }
          .cs-product-tile--list .cs-products-list--with-sidebar .cs-product-tile__review--list + .cs-product-tile__name {
            padding-right: 12rem; } }
    .cs-product-tile--grid .cs-product-tile__review--list {
      display: none; }
  .cs-product-tile__review:empty {
    margin: 0 !important; }
  .cs-product-tile__stock {
    display: inline-block;
    white-space: nowrap;
    font-size: 1.3rem; }
    .cs-product-tile__stock--in {
      color: #37b841; }
    .cs-product-tile__stock--out {
      color: #e41f12; }
    .cs-product-tile--grid .cs-product-tile__stock {
      margin: 0; }
    .cs-product-tile--list .cs-product-tile__stock {
      margin: 0 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__dailydeal--grid {
    display: none !important; }
  .cs-product-tile__dailydeal--list {
    position: relative;
    width: auto;
    margin-bottom: 0; }
    .cs-product-tile--grid .cs-product-tile__dailydeal--list {
      display: none !important; }
    .cs-product-tile__dailydeal--list.cs-dailydeal--tile {
      position: relative;
      width: auto;
      bottom: 0; }
  .cs-product-tile--grid .cs-product-tile__dailydeal {
    margin: 0; }
  .cs-product-tile--list .cs-product-tile__dailydeal {
    margin: 1rem 0 0 0; }
  .cs-product-tile__qty {
    margin-bottom: 1rem;
    width: 11rem;
    margin-left: auto; }
  .cs-product-tile__main {
    position: relative;
    display: flex;
    align-items: stretch; }
    .cs-product-tile--grid .cs-product-tile__main {
      flex-direction: column;
      height: 100%;
      justify-content: center; }
    .cs-product-tile--list .cs-product-tile__main {
      flex-direction: row;
      flex: 1 1 100%; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__main {
          padding: 0 2rem; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__main {
        padding: 0; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__main {
            padding: 0 2rem; } }
  .cs-product-tile__details {
    flex-shrink: 0; }
    .cs-product-tile--list .cs-product-tile__details {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      flex: 1 1;
      padding: 0; }
  .cs-product-tile__swatches {
    display: flex; }
    .cs-product-tile--grid .cs-product-tile__swatches {
      margin: 1.5rem 0 1rem;
      min-height: 2.6rem; }
      .cs-product-tile--grid .cs-product-tile__swatches,
      .cs-product-tile--grid .cs-product-tile__swatches .swatch-attribute-options {
        justify-content: center; }
    .cs-product-tile--list .cs-product-tile__swatches {
      width: 100%;
      margin: 0 0 0.5rem; }
      .cs-product-tile--list .cs-product-tile__swatches:empty {
        margin: 0; }
      .cs-product-tile--list .cs-product-tile__swatches,
      .cs-product-tile--list .cs-product-tile__swatches .swatch-attribute-options {
        justify-content: flex-start; }
    .cs-product-tile__swatches--list:empty {
      margin: 0 !important; }
  .cs-product-tile__brand {
    height: 2rem;
    margin-top: 1.5rem;
    text-align: center; }
    .cs-product-tile__brand--empty {
      height: 0; }
    .cs-product-tile--list .cs-product-tile__brand {
      margin: 0;
      order: -2;
      text-align: left; }
  .cs-product-tile__brand-text {
    font-size: 1.2rem;
    color: #888; }
  .cs-product-tile__name {
    line-height: 1.8rem;
    font-weight: 400;
    font-size: 1.5rem;
    overflow: hidden;
    width: 100%; }
    .cs-product-tile--grid .cs-product-tile__name {
      height: 3.8rem;
      margin: 0 0 1.5rem;
      text-align: center; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__name {
      margin-top: 1.5rem; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__brand + .cs-product-tile__name {
      margin-top: 0; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__brand--empty + .cs-product-tile__name {
      height: 5.8rem; }
    .cs-product-tile--list .cs-product-tile__name {
      margin: 0 0 1rem;
      text-align: left;
      order: -1; }
  .cs-product-tile__name-link {
    color: #212121;
    transition: color 0.15s linear;
    /* disabled because autoprefixer can't build this */
    /* stylelint-disable value-no-vendor-prefix */
    /* stylelint-disable property-no-vendor-prefix */
    /* autoprefixer: ignore next */
    display: -webkit-box;
    /* autoprefixer: ignore next */
    -webkit-box-orient: vertical;
    /* autoprefixer: ignore next */
    -webkit-line-clamp: 2;
    /* autoprefixer: ignore next */
    line-clamp: 2;
    max-width: 100%;
    /* stylelint-enable value-no-vendor-prefix */
    /* stylelint-enable property-no-vendor-prefix */ }
    .cs-product-tile__name-link:visited {
      color: #212121; }
    .cs-product-tile__name-link:hover {
      color: #2d3e50;
      text-decoration: none; }
  .cs-product-tile__description {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
    color: #696969;
    margin: 0 0 1rem; }
    .cs-product-tile--grid .cs-product-tile__description {
      display: none; }
    .cs-product-tile--list .cs-product-tile__description {
      width: 100%;
      text-align: left; }
    .cs-product-tile__description:empty {
      margin: 0 !important; }
  .cs-product-tile__additional--list {
    margin: auto 0 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%; }
    @media (min-width: 48em) {
      .cs-product-tile__additional--list {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between; } }
    .cs-products-list--with-sidebar .cs-product-tile__additional--list {
      flex-direction: column;
      align-items: flex-start; }
      @media (min-width: 64em) {
        .cs-products-list--with-sidebar .cs-product-tile__additional--list {
          flex-direction: row;
          align-items: flex-end;
          justify-content: space-between; } }
  .cs-product-tile--list .cs-product-tile__addto--grid {
    display: none; }
  .cs-product-tile--grid .cs-product-tile__addto--list {
    display: none; }
  .cs-product-tile--grid .cs-product-tile__addto {
    margin: 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__addto {
    margin: 1rem 0 0; }
  .cs-product-tile__addto .cs-links-block-addto__link {
    font-size: 1.3rem; }
  .cs-dashboard__bottom-wishlist .cs-product-tile__addto,
  .cs-dashboard__wishlist-products-grid .cs-product-tile__addto {
    display: none; }
  .cs-product-tile__addto:empty {
    margin: 0 !important; }
  .cs-product-tile--grid .cs-product-tile__addtocart {
    margin: 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__addtocart {
    margin: 0.5rem 0 0; }
  .cs-product-tile__addtocart-button {
    width: 100%; }
  .cs-product-tile__wishlist-remove-icon {
    position: absolute;
    top: 0;
    right: 0;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem; }
    @media (pointer: fine) {
      .cs-product-tile__wishlist-remove-icon {
        display: none; } }
  .cs-product-tile__wishlist-remove-icon-image {
    width: 1.2rem;
    height: 1.2rem;
    fill: #888; }
  .cs-product-tile__wishlist-comment {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
    .cs-product-tile--list .cs-product-tile__wishlist-comment {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap;
      /* 1 */ }
  .cs-product-tile__wishlist-actions {
    margin: 1rem 0 0;
    display: flex;
    justify-content: space-between; }
  .cs-product-tile__price {
    line-height: 1.2; }
    .cs-product-tile--list .cs-product-tile__price--grid {
      display: none; }
    .cs-product-tile--grid .cs-product-tile__price--list {
      display: none; }
    .cs-product-tile__price .price-box {
      display: flex; }
      .cs-product-tile__price .price-box .price {
        font-size: 1.5rem;
        font-weight: 700;
        color: #2d3e50; }
      .cs-product-tile__price .price-box .old-price .price {
        font-size: 1.5rem;
        font-weight: 700;
        color: #696969;
        text-decoration: line-through; }
      .cs-product-tile__price .price-box .special-price .price {
        font-size: 1.5rem;
        font-weight: 700;
        color: #e41f12; }
      .cs-product-tile__price .price-box .minimal-price {
        margin: 0;
        display: flex; }
      .cs-product-tile--grid .cs-product-tile__price .price-box {
        margin: 0;
        align-items: center;
        justify-content: center; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .old-price {
          order: -1; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .minimal-price {
          align-items: center; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .old-price .price {
          margin-right: 1rem; }
      .cs-product-tile--list .cs-product-tile__price .price-box {
        justify-content: flex-end;
        margin: 0;
        text-align: right;
        flex-direction: column; }
        .cs-product-tile--list .cs-product-tile__price .price-box .price-wrapper {
          justify-content: flex-end; }
        .cs-product-tile--list .cs-product-tile__price .price-box .old-price {
          order: -1; }
        .cs-product-tile--list .cs-product-tile__price .price-box .price-from {
          margin-right: 0; }
        .cs-product-tile--list .cs-product-tile__price .price-box .minimal-price {
          flex-direction: column; }
    .cs-product-tile__price--dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
      display: none; }
    .cs-product-tile__price--dailydeal-countdown .price-box.price-box--visible {
      display: flex; }

.cs-product-tile {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 0px;
  background-color: transparent; }
  @media (min-width: 64em) {
    .cs-product-tile:hover {
      z-index: 5; } }
  .cs-product-tile--clickable:hover {
    cursor: pointer; }
  .cs-product-tile--hidden .cs-product-tile__main,
  .cs-product-tile--hidden .cs-product-tile__addons {
    visibility: hidden !important; }
  .cs-product-tile--grid.cs-product-tile--static .cs-product-tile__addons {
    display: none; }
  .cs-product-tile__container {
    display: flex;
    height: 100%;
    width: 100%; }
    .cs-product-tile--grid .cs-product-tile__container {
      flex-direction: column;
      padding: 4rem; }
    .cs-product-tile--list .cs-product-tile__container {
      flex-direction: row;
      padding: 1.5rem 0; }
  .cs-product-tile--list .cs-product-tile__link {
    display: flex;
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__link {
    display: block;
    height: 100%; }
  .cs-product-tile__thumbnail {
    padding: 0;
    display: flex; }
  .cs-product-tile__thumbnail-link {
    display: block;
    position: relative;
    overflow: hidden; }
    .cs-product-tile--grid .cs-product-tile__thumbnail-link {
      width: 100%; }
    .cs-product-tile--list .cs-product-tile__thumbnail-link {
      padding: 0 4rem 0 0;
      height: 100%;
      flex-grow: initial; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__thumbnail-link {
          padding: 0; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__thumbnail-link {
        padding: 0 4rem 0 0; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__thumbnail-link {
            padding: 0; } }
    .cs-product-tile__thumbnail-link:hover, .cs-product-tile__thumbnail-link:visited {
      color: inherit;
      text-decoration: inherit; }
  .cs-product-tile__figure {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden; }
    .cs-product-tile--grid .cs-product-tile__figure {
      width: 100%;
      justify-content: flex-start;
      align-items: center;
      top: 0;
      position: relative; }
      .cs-product-tile--grid .cs-product-tile__figure:before {
        display: block;
        content: '';
        width: 100%;
        padding-top: 105.71429%; }
      .cs-product-tile--grid .cs-product-tile__figure .cs-product-tile__thumbnail-link {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
    .cs-product-tile--list .cs-product-tile__figure {
      width: 10rem;
      justify-content: center;
      align-items: flex-start; }
      @media (max-width: 29.99em) {
        .cs-product-tile--list .cs-product-tile__figure {
          width: 5rem; } }
      .cs-product-tile--list .cs-product-tile__figure:before {
        content: none; }
  .cs-product-tile__image {
    width: auto;
    height: auto;
    max-width: 100%;
    margin: auto; }
    .cs-product-tile--grid .cs-product-tile__image {
      position: absolute;
      top: 0;
      left: 0;
      text-align: center; }
    .cs-product-tile--list .cs-product-tile__image {
      max-height: 100%;
      position: relative !important;
      margin-top: 0; }
  .cs-product-tile__img {
    width: 80%;
    height: auto; }
  .cs-product-tile__badges {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap; }
    .cs-product-tile--list .cs-product-tile__badges--grid {
      display: none; }
    .cs-product-tile--grid .cs-product-tile__badges--list {
      display: none; }
    .cs-product-tile--grid .cs-product-tile__badges {
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0.3rem;
      flex-direction: column; }
    .cs-product-tile--list .cs-product-tile__badges {
      margin: 0 0 0 0.3rem;
      justify-content: flex-start; }
  .cs-product-tile__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #2d3e50;
    color: #fff;
    border: 0;
    border-radius: 0px;
    padding: 0 0.7rem;
    font-size: 1.1rem;
    font-weight: 700;
    min-height: 2em;
    text-transform: uppercase; }

@media (min-width: 23.125em) and (max-width: 29.99em) {
  .cs-product-tile__badge {
    font-size: 0.9rem; } }
    .cs-product-tile__badge--discount {
      background-color: green;
      color: #fff; }
      .cs-product-tile__badge--discount .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--discount .cs-product-tile__badge-text + .cs-product-tile__badge--discount .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--new {
      background-color: #2d3e50;
      color: #000; }
      .cs-product-tile__badge--new .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--new .cs-product-tile__badge-text + .cs-product-tile__badge--new .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--free-shipping {
      background-color: #37b841;
      color: #fff; }
      .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text + .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--popular {
      background-color: #37b841;
      color: #fff; }
      .cs-product-tile__badge--popular .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--popular .cs-product-tile__badge-text + .cs-product-tile__badge--popular .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--dailydeal {
      background-color: #e41f12;
      color: #fff; }
      .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text + .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
  .cs-product-tile__badge-item {
    display: flex; }
    .cs-product-tile--grid .cs-product-tile__badge-item {
      margin: 0 0 0.5rem;
      width: 100%; }
    .cs-product-tile--list .cs-product-tile__badge-item {
      margin: 0 1rem 0.3rem 0; }
    .cs-product-tile__badge-item:empty {
      display: none; }
  .cs-product-tile__badge-text {
    line-height: normal; }
    .cs-product-tile__badge-text + .cs-product-tile__badge-text {
      margin-left: 0.5rem; }
  .cs-product-tile--list .cs-product-tile__gallery {
    display: none !important; }
  .cs-product-tile__content {
    padding: 0;
    display: flex;
    align-items: stretch; }
    .cs-product-tile--grid .cs-product-tile__content {
      flex-direction: column;
      flex: 1 1; }
    .cs-product-tile--list .cs-product-tile__content {
      position: relative;
      flex: 1 1 auto;
      flex-direction: column-reverse; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__content {
          flex-direction: row-reverse; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__content {
        flex-direction: column-reverse; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__content {
            flex-direction: row-reverse; } }
  .cs-product-tile__addons {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    background: transparent;
    border-radius: 0px; }
    .cs-product-tile--list .cs-product-tile__addons {
      padding: 0;
      margin: 1rem 0 0;
      position: relative;
      z-index: 1;
      opacity: initial;
      box-shadow: none;
      transform: none;
      overflow: visible; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__addons {
          flex: 0 0 25rem;
          padding: 0 0 0 4rem;
          margin: 0;
          flex-direction: column;
          border-left: 1px solid #f0f0f0; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__addons {
        padding: 0;
        margin: 1rem 0 0;
        flex: 1 0 auto;
        flex-direction: row;
        border-left: none; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__addons {
            padding: 0 0 0 4rem;
            margin: 0;
            flex: 0 0 25rem;
            flex-direction: column;
            border-left: 1px solid #f0f0f0; } }
    .cs-product-tile--grid .cs-product-tile__addons {
      align-items: flex-end;
      opacity: 0;
      top: 0;
      padding: calc(135% + 10rem) 4rem 4rem;
      box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
      transform: translate3d(0, -3rem, 0); }
    @media (min-width: 64em) {
      .cs-product-tile:hover .cs-product-tile__addons {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        transition: opacity 0.1s linear, transform 0.33s cubic-bezier(0, 0.66, 0.32, 0.99); } }
  @media (min-width: 64em) and (pointer: coarse) {
    .cs-product-tile:hover .cs-product-tile__addons {
      opacity: 0;
      transform: none; } }
    .cs-product-tile:hover .cs-product-tile__addons .cs-product-tile.no-transition,
    .cs-product-tile--static .cs-product-tile:hover .cs-product-tile__addons {
      transition: none; }
  .cs-product-tile__addons-top {
    width: 100%; }
    .cs-product-tile--list .cs-product-tile__addons-top {
      flex: 1 1; }
  .cs-product-tile__addons-sides {
    display: flex;
    width: 100%; }
  .cs-product-tile__addons-right {
    padding-left: 1rem;
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    flex-direction: column; }
    .ie11 .cs-product-tile__addons-right {
      width: 30%; }
    .cs-product-tile--grid .cs-product-tile__addons-right {
      align-items: flex-end; }
    .cs-product-tile--list .cs-product-tile__addons-right {
      align-items: flex-start;
      padding-left: 0;
      order: -1; }
  .cs-product-tile__addons-bottom {
    width: 100%; }
    .cs-product-tile--list .cs-product-tile__addons-bottom {
      display: none; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__addons-bottom {
          display: block; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__addons-bottom {
        display: none; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__addons-bottom {
            display: block; } }
  .cs-product-tile__addons-left {
    padding-right: 1rem;
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    flex-direction: column; }
    .ie11 .cs-product-tile__addons-left {
      width: 70%; }
    .cs-product-tile--grid .cs-product-tile__addons-left {
      align-items: flex-start; }
    .cs-product-tile--list .cs-product-tile__addons-left {
      align-items: flex-end;
      padding-right: 0;
      order: 2; }
  .cs-product-tile__review--grid {
    margin: 1rem 0 0; }
    .cs-product-tile--list .cs-product-tile__review--grid {
      display: none; }
  .cs-product-tile__review--list {
    margin: 0 0 1rem; }
    @media (min-width: 48em) {
      .cs-product-tile__review--list {
        position: absolute;
        top: 0;
        right: 2rem; }
        .cs-product-tile--list .cs-product-tile__review--list + .cs-product-tile__name {
          padding-right: 12rem; } }
    .cs-products-list--with-sidebar .cs-product-tile__review--list {
      position: relative;
      top: initial;
      right: initial; }
      @media (min-width: 64em) {
        .cs-products-list--with-sidebar .cs-product-tile__review--list {
          position: absolute;
          top: 0;
          right: 2rem;
          margin: 0 0 1rem; }
          .cs-product-tile--list .cs-products-list--with-sidebar .cs-product-tile__review--list + .cs-product-tile__name {
            padding-right: 12rem; } }
    .cs-product-tile--grid .cs-product-tile__review--list {
      display: none; }
  .cs-product-tile__review:empty {
    margin: 0 !important; }
  .cs-product-tile__stock {
    display: inline-block;
    white-space: nowrap;
    font-size: 1.3rem; }
    .cs-product-tile__stock--in {
      color: #37b841; }
    .cs-product-tile__stock--out {
      color: #e41f12; }
    .cs-product-tile--grid .cs-product-tile__stock {
      margin: 0; }
    .cs-product-tile--list .cs-product-tile__stock {
      margin: 0 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__dailydeal--grid {
    display: none !important; }
  .cs-product-tile__dailydeal--list {
    position: relative;
    width: auto;
    margin-bottom: 0; }
    .cs-product-tile--grid .cs-product-tile__dailydeal--list {
      display: none !important; }
    .cs-product-tile__dailydeal--list.cs-dailydeal--tile {
      position: relative;
      width: auto;
      bottom: 0; }
  .cs-product-tile--grid .cs-product-tile__dailydeal {
    margin: 0; }
  .cs-product-tile--list .cs-product-tile__dailydeal {
    margin: 1rem 0 0 0; }
  .cs-product-tile__qty {
    margin-bottom: 1rem;
    width: 11rem;
    margin-left: auto; }
  .cs-product-tile__main {
    position: relative;
    display: flex;
    align-items: stretch; }
    .cs-product-tile--grid .cs-product-tile__main {
      flex-direction: column;
      height: 100%;
      justify-content: normal; }
    .cs-product-tile--list .cs-product-tile__main {
      flex-direction: row;
      flex: 1 1 100%; }
      @media (min-width: 48em) {
        .cs-product-tile--list .cs-product-tile__main {
          padding: 0 2rem; } }
      .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__main {
        padding: 0; }
        @media (min-width: 64em) {
          .cs-products-list--with-sidebar .cs-product-tile--list .cs-product-tile__main {
            padding: 0 2rem; } }
  .cs-product-tile__details {
    flex-shrink: 0; }
    .cs-product-tile--list .cs-product-tile__details {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      flex: 1 1;
      padding: 0; }
  .cs-product-tile__swatches {
    display: flex; }
    .cs-product-tile--grid .cs-product-tile__swatches {
      margin: 1.5rem 0 1rem;
      min-height: 2.6rem; }
      .cs-product-tile--grid .cs-product-tile__swatches,
      .cs-product-tile--grid .cs-product-tile__swatches .swatch-attribute-options {
        display: none;
        justify-content: flex-start; }
    .cs-product-tile--list .cs-product-tile__swatches {
      width: 100%;
      margin: 0 0 0.5rem; }
      .cs-product-tile--list .cs-product-tile__swatches:empty {
        margin: 0; }
      .cs-product-tile--list .cs-product-tile__swatches,
      .cs-product-tile--list .cs-product-tile__swatches .swatch-attribute-options {
        justify-content: flex-start; }
    .cs-product-tile__swatches--list:empty {
      margin: 0 !important; }
    .ie11 .cs-product-tile__swatches {
      width: 100%; }
  .cs-product-tile__brand {
    height: 2rem;
    margin-top: 4rem;
    text-align: center; }
    .cs-product-tile__brand--empty {
      height: 0; }
    .cs-product-tile--list .cs-product-tile__brand {
      margin: 0;
      order: -2;
      text-align: left; }
  .cs-product-tile__brand-text {
    font-size: 1.2rem;
    color: #888; }
  .cs-product-tile__name {
    line-height: 1.8rem;
    font-weight: 700;
    font-size: 1.8rem;
    overflow: hidden;
    width: 100%;
    padding-top: 1.5rem; }
    .cs-product-tile--grid .cs-product-tile__name {
      height: auto;
      margin: 0 0 1.5rem;
      text-align: left; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__name {
      margin-top: 1.5rem; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__brand + .cs-product-tile__name {
      margin-top: 0; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__brand--empty + .cs-product-tile__name {
      height: 7.6rem; }
    .cs-product-tile--list .cs-product-tile__name {
      margin: 0 0 1rem;
      text-align: left;
      order: -1; }
  .cs-product-tile__name-link {
    color: #2d3e50;
    text-transform: none;
    font-family: "Futura LT W04 Bold1475826", sans-serif;
    line-height: 1.3;
    min-height: 7rem;
    /* disabled because autoprefixer can't build this */
    /* stylelint-disable value-no-vendor-prefix */
    /* stylelint-disable property-no-vendor-prefix */
    /* autoprefixer: ignore next */
    display: -webkit-box;
    /* autoprefixer: ignore next */
    -webkit-box-orient: vertical;
    /* autoprefixer: ignore next */
    -webkit-line-clamp: 3;
    /* autoprefixer: ignore next */
    line-clamp: 3;
    max-width: 100%;
    /* stylelint-enable value-no-vendor-prefix */
    /* stylelint-enable property-no-vendor-prefix */ }
    .cs-product-tile__name-link:visited {
      color: #2d3e50; }
    .cs-product-tile__name-link:hover {
      color: #2d3e50;
      text-decoration: none; }
  .cs-product-tile__description {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
    color: #696969;
    margin: 0 0 1rem; }
    .cs-product-tile--grid .cs-product-tile__description {
      display: none; }
    .cs-product-tile--list .cs-product-tile__description {
      width: 100%;
      text-align: left; }
    .cs-product-tile__description:empty {
      margin: 0 !important; }
  .cs-product-tile__additional--list {
    margin: auto 0 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%; }
    @media (min-width: 48em) {
      .cs-product-tile__additional--list {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between; } }
    .cs-products-list--with-sidebar .cs-product-tile__additional--list {
      flex-direction: column;
      align-items: flex-start; }
      @media (min-width: 64em) {
        .cs-products-list--with-sidebar .cs-product-tile__additional--list {
          flex-direction: row;
          align-items: flex-end;
          justify-content: space-between; } }
  .ie11 .cs-product-tile__addto {
    width: 100%; }
  .cs-product-tile--list .cs-product-tile__addto--grid {
    display: none; }
  .cs-product-tile--grid .cs-product-tile__addto--list {
    display: none; }
  .cs-product-tile--grid .cs-product-tile__addto {
    margin: 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__addto {
    margin: 1rem 0 0; }
  .cs-product-tile__addto .cs-links-block-addto__link {
    font-size: 1.3rem; }
  .cs-dashboard__bottom-wishlist .cs-product-tile__addto,
  .cs-dashboard__wishlist-products-grid .cs-product-tile__addto {
    display: none; }
  .cs-product-tile__addto:empty {
    margin: 0 !important; }
  .ie11 .cs-product-tile__addto .cs-links-block-addto__item--wishlist {
    width: 100%; }
  .ie11 .cs-product-tile__addto .cs-links-block-addto--grid {
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__addtocart {
    margin: 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__addtocart {
    margin: 0.5rem 0 0; }
  .cs-product-tile__addtocart-button {
    width: 100%; }
    .cs-product-tile__addtocart-button.button_configure {
      z-index: -999; }
  .cs-product-tile__wishlist-remove-icon {
    position: absolute;
    top: 0;
    right: 0;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4rem; }
    @media (pointer: fine) {
      .cs-product-tile__wishlist-remove-icon {
        display: none; } }
  .cs-product-tile__wishlist-remove-icon-image {
    width: 1.2rem;
    height: 1.2rem;
    fill: #888; }
  .cs-product-tile__wishlist-comment {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
    .cs-product-tile--list .cs-product-tile__wishlist-comment {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap;
      /* 1 */ }
  .cs-product-tile__wishlist-actions {
    margin: 1rem 0 0;
    display: flex;
    justify-content: space-between; }
  .cs-product-tile__price {
    line-height: 1.2; }
    .cs-product-tile--list .cs-product-tile__price--grid {
      display: none; }
    .cs-product-tile--grid .cs-product-tile__price--list {
      display: none; }
    .cs-product-tile__price .price-box {
      display: flex; }
      .cs-product-tile__price .price-box .price {
        font-size: 1.5rem;
        font-weight: 700;
        color: #2d3e50; }
      .cs-product-tile__price .price-box .old-price .price {
        font-size: 1.5rem;
        font-weight: 700;
        color: #696969;
        text-decoration: line-through; }
      .cs-product-tile__price .price-box .special-price .price {
        font-size: 1.5rem;
        font-weight: 700;
        color: #e41f12; }
      .cs-product-tile__price .price-box .minimal-price {
        margin: 0;
        display: block; }
        .cs-product-tile__price .price-box .minimal-price .price-label {
          display: block;
          color: #777; }
      .cs-product-tile--grid .cs-product-tile__price .price-box {
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: normal;
        min-height: 70px; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .old-price .price {
          margin: 0; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .old-price {
          order: -1; }
      .cs-product-tile--list .cs-product-tile__price .price-box {
        justify-content: flex-end;
        margin: 0;
        text-align: right;
        flex-direction: column; }
        .cs-product-tile--list .cs-product-tile__price .price-box .price-wrapper {
          justify-content: flex-end; }
        .cs-product-tile--list .cs-product-tile__price .price-box .old-price {
          order: -1; }
        .cs-product-tile--list .cs-product-tile__price .price-box .price-from {
          margin-right: 0; }
        .cs-product-tile--list .cs-product-tile__price .price-box .minimal-price {
          flex-direction: column; }
    .cs-product-tile__price--dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
      display: none; }
    .cs-product-tile__price--dailydeal-countdown .price-box.price-box--visible {
      display: flex; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-products-list {
  margin: 0;
  padding: 0;
  list-style: none; }
  .cs-products-list__item {
    margin: 0; }
  .cs-products-list:not(.cs-products-list--carousel) .cs-products-list__item {
    border-bottom: 1px solid #f0f0f0;
    padding: 0; }
    .cs-products-list:not(.cs-products-list--carousel) .cs-products-list__item:last-child {
      border-bottom: 0; }
  @media (min-width: 48em) {
    .cs-products-list--carousel .cs-products-list__item {
      border-bottom: 1px solid #f0f0f0;
      padding: 0; }
      .cs-products-list--carousel .cs-products-list__item:last-child {
        border-bottom: 0; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-push-notification {
  display: none; }
  .cs-push-notification._active {
    display: block; }
  .cs-push-notification__content {
    position: relative;
    display: block;
    background: #fff;
    padding: 0;
    border: none;
    border-radius: 0px;
    box-shadow: none;
    margin: 1.5rem 0; }
    .cs-push-notification--shipping .cs-push-notification__content {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1), -2px -2px 3px rgba(0, 0, 0, 0.1);
      padding: 2rem 1.5rem; }
  .cs-push-notification__icons {
    margin: 0; }
    @media (max-width: 29.99em) {
      .cs-push-notification__icons {
        display: none; } }
  .cs-push-notification__icon {
    width: 3.5rem;
    height: 3.5rem; }
    .cs-push-notification__icon--animate {
      -webkit-animation: ringing 6s infinite;
              animation: ringing 6s infinite; }
  .cs-push-notification__message-wrapper {
    margin: 0;
    flex: 1 1; }
    .cs-push-notification--shipping .cs-push-notification__message-wrapper {
      margin: 0 1.5rem; }
    @media (max-width: 63.99em) {
      .cs-push-notification__message-wrapper {
        padding-right: 0; } }
  .cs-push-notification__message {
    display: flex;
    flex-direction: column; }
    .cs-push-notification__message-title {
      font-size: 2rem;
      font-weight: 700; }
    .cs-push-notification__message-description {
      font-size: 1.4rem;
      font-weight: 400;
      color: #888; }
  .cs-push-notification__actions {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap; }
    .cs-push-notification--shipping .cs-push-notification__actions {
      justify-content: flex-start; }
    @media (max-width: 63.99em) {
      .cs-push-notification__actions {
        flex: 1 1 100%;
        margin-top: 0; } }
    @media (min-width: 30em) {
      .cs-push-notification__actions {
        flex-wrap: nowrap; } }
  @media (max-width: 29.99em) {
    .cs-push-notification__button {
      width: 100%; } }
  .cs-push-notification__button:first-of-type {
    margin: 0 0 0.5rem; }
    @media (min-width: 30em) {
      .cs-push-notification__button:first-of-type {
        margin: 0 0 0 0; }
        .cs-push-notification--shipping .cs-push-notification__button:first-of-type {
          margin: 0 1.5rem 0 0; } }
  .cs-push-notification__button--accept {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .cs-push-notification__button--accept::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-push-notification__button--accept, .cs-push-notification__button--accept:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #2d3e50;
      color: #2d3e50;
      background-color: #fff; }
      .cs-push-notification__button--accept *, .cs-push-notification__button--accept:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .cs-push-notification__button--accept:hover:not([disabled]), .cs-push-notification__button--accept:focus:not([disabled]), .cs-push-notification__button--accept:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .cs-push-notification__button--accept:hover:not([disabled]) *, .cs-push-notification__button--accept:focus:not([disabled]) *, .cs-push-notification__button--accept:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-push-notification__button--accept[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-push-notification__button--accept .cs-push-notification__button-span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    .cs-push-notification__button--accept .cs-push-notification__button-icon {
      max-width: 1em;
      max-height: 1.4rem;
      z-index: 2;
      height: auto;
      width: 100%;
      display: none; }
    .cs-push-notification--shipping .cs-push-notification__button--accept {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: none;
      padding: 0.75em 1em;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5; }
      .cs-push-notification--shipping .cs-push-notification__button--accept::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-push-notification--shipping .cs-push-notification__button--accept, .cs-push-notification--shipping .cs-push-notification__button--accept:visited {
        cursor: pointer;
        border-radius: 0px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #fff;
        background-color: #2d3e50; }
        .cs-push-notification--shipping .cs-push-notification__button--accept *, .cs-push-notification--shipping .cs-push-notification__button--accept:visited * {
          color: #fff;
          fill: #fff; }
      .cs-push-notification--shipping .cs-push-notification__button--accept:hover:not([disabled]), .cs-push-notification--shipping .cs-push-notification__button--accept:focus:not([disabled]), .cs-push-notification--shipping .cs-push-notification__button--accept:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #fff;
        background-color: #777; }
        .cs-push-notification--shipping .cs-push-notification__button--accept:hover:not([disabled]) *, .cs-push-notification--shipping .cs-push-notification__button--accept:focus:not([disabled]) *, .cs-push-notification--shipping .cs-push-notification__button--accept:active:not([disabled]) * {
          color: #fff;
          fill: #fff; }
      .cs-push-notification--shipping .cs-push-notification__button--accept[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .cs-push-notification--shipping .cs-push-notification__button--accept .cs-push-notification__button-span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal; }
      .cs-push-notification--shipping .cs-push-notification__button--accept .cs-push-notification__button-icon {
        max-width: 1em;
        max-height: 1.4rem;
        z-index: 2;
        height: auto;
        width: 100%;
        display: none; }
  .cs-push-notification__button--decline {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .cs-push-notification__button--decline::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-push-notification__button--decline, .cs-push-notification__button--decline:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #2d3e50;
      color: #2d3e50;
      background-color: #fff; }
      .cs-push-notification__button--decline *, .cs-push-notification__button--decline:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .cs-push-notification__button--decline:hover:not([disabled]), .cs-push-notification__button--decline:focus:not([disabled]), .cs-push-notification__button--decline:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .cs-push-notification__button--decline:hover:not([disabled]) *, .cs-push-notification__button--decline:focus:not([disabled]) *, .cs-push-notification__button--decline:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-push-notification__button--decline[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-push-notification__button--decline .cs-push-notification__button-span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    .cs-push-notification__button--decline .cs-push-notification__button-icon {
      max-width: 1em;
      max-height: 1.4rem;
      z-index: 2;
      height: auto;
      width: 100%;
      display: none; }
  .cs-push-notification__permission {
    display: flex;
    flex-direction: column;
    border: none;
    border-radius: 0px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1), -2px -2px 5px rgba(0, 0, 0, 0.1);
    font-size: 1.2rem;
    color: #888;
    padding: 1rem 2rem; }
    .cs-push-notification__permission-icon {
      width: 1.2rem;
      height: 1.2rem;
      margin-right: 0.5rem; }
    .cs-push-notification__permission-button-wrapper {
      display: flex;
      justify-content: flex-end;
      margin-top: 1rem; }
    .cs-push-notification__permission-button {
      padding: 0.2rem 2rem;
      margin: 0 0.2rem;
      border: 1px solid #000;
      color: #000;
      font-size: 1.1rem; }
      .cs-push-notification__permission-button--block {
        opacity: 0.3; }
  .cs-push-notification__close {
    margin: 0 0 0 0;
    padding: 0; }
    .cs-push-notification--shipping .cs-push-notification__close {
      padding: 1.5rem; }
    @media (max-width: 63.99em) {
      .cs-push-notification__close {
        position: absolute;
        top: 1rem;
        right: 0; }
        .cs-push-notification--shipping .cs-push-notification__close {
          right: 1.5rem; } }
    .cs-push-notification__close-icon {
      display: block;
      width: 1.5rem;
      height: 1.5rem;
      fill: #888; }
    .cs-push-notification__close:hover .cs-push-notification__close-icon {
      fill: #000; }

@-webkit-keyframes ringing {
  0%,
  12% {
    transform: scale(1) rotate(0deg); }
  3%,
  7% {
    transform: scale(1.3) rotate(27deg); }
  5%,
  9% {
    transform: scale(1.3) rotate(-27deg); } }

@keyframes ringing {
  0%,
  12% {
    transform: scale(1) rotate(0deg); }
  3%,
  7% {
    transform: scale(1.3) rotate(27deg); }
  5%,
  9% {
    transform: scale(1.3) rotate(-27deg); } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-qty-increment {
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  .cs-qty-increment--wishlist {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-qty-increment__label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-qty-increment__input {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #2d3e50;
    background: #fff;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit;
    font-size: inherit;
    text-align: center;
    margin: 0;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-radius: 0;
    width: 0;
    min-width: 2ch;
    flex: 1 1;
    order: 2; }
    .cs-qty-increment__input:hover:not([disabled]), .cs-qty-increment__input:focus:not([disabled]) {
      border: 1px solid #2d3e50;
      box-shadow: none; }
    .cs-qty-increment__input::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .cs-qty-increment__input:-ms-input-placeholder {
      opacity: 1;
      color: #888; }
    .cs-qty-increment__input::placeholder {
      opacity: 1;
      color: #888; }
    .cs-qty-increment__input[disabled] {
      opacity: 0.65; }
    .cs-qty-increment__input, .cs-qty-increment__input:hover:not([disabled]), .cs-qty-increment__input:focus:not([disabled]) {
      border-left-width: 0;
      border-right-width: 0;
      border-color: #dcdcdc; }
    .cs-qty-increment__input.mage-error {
      border-color: #e41f12 !important; }
      .cs-qty-increment__input.mage-error ~ .cs-qty-increment__button {
        border-color: #e41f12 !important; }
    .cs-qty-increment__input + .mage-error {
      order: 3;
      width: 100%; }
  .cs-qty-increment__button {
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s;
    max-width: 3rem;
    background-color: transparent;
    flex: 1 1 2rem;
    position: relative;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-radius: 0px; }
    .cs-qty-increment__button, .cs-qty-increment__button:visited, .cs-qty-increment__button:focus {
      background-color: transparent;
      border: 1px solid #dcdcdc; }
      .cs-qty-increment__button *, .cs-qty-increment__button:visited *, .cs-qty-increment__button:focus * {
        fill: #2d3e50; }
    .cs-qty-increment__button:hover, .cs-qty-increment__button:active {
      background-color: #2d3e50;
      border: 1px solid #2d3e50;
      cursor: pointer; }
      .cs-qty-increment__button:hover *, .cs-qty-increment__button:active * {
        fill: #fff; }
    .cs-qty-increment__button--decrement {
      order: 1;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .cs-qty-increment__button--increment {
      order: 2;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
    .cs-qty-increment__button--disabled {
      opacity: 1; }
      .cs-qty-increment__button--disabled, .cs-qty-increment__button--disabled:hover, .cs-qty-increment__button--disabled:visited, .cs-qty-increment__button--disabled:focus {
        background-color: transparent;
        border: 1px solid #dcdcdc;
        cursor: not-allowed; }
        .cs-qty-increment__button--disabled *, .cs-qty-increment__button--disabled:hover *, .cs-qty-increment__button--disabled:visited *, .cs-qty-increment__button--disabled:focus * {
          fill: #dcdcdc; }
  .cs-qty-increment__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .cs-qty-increment__icon--decrement {
      width: 1.2rem;
      height: 0.3rem; }
    .cs-qty-increment__icon--increment {
      width: 1.2rem;
      height: 1.2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.ui-slider-horizontal {
  background: #dcdcdc;
  height: 1rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  position: relative;
  border-radius: 1rem; }
  .ui-slider-horizontal .ui-slider-handle {
    width: 1rem;
    height: 1rem;
    background: #2d3e50;
    transition: transform 0.3s, background 0.3s;
    cursor: pointer;
    position: absolute;
    border-radius: 50%;
    margin-left: -0.5rem; }
    .ui-slider-horizontal .ui-slider-handle.ui-state-hover, .ui-slider-horizontal .ui-slider-handle.ui-state-active, .ui-slider-horizontal .ui-slider-handle.ui-state-focus {
      transform: scale(1.5);
      background: #2d3e50; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-social-media-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  padding: 1.5rem 0 1.5rem;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48em) {
    .cs-social-media-list {
      justify-content: flex-start; } }
  @media (min-width: 48em) {
    .cs-social-media-list {
      padding-bottom: 0;
      padding-top: 0; } }
  .cs-social-media-list__item {
    margin: 0 0.4em;
    padding: 0; }
  .cs-social-media-list__link {
    display: flex;
    position: relative;
    height: 3.5em;
    min-width: 4em;
    background: #212121;
    color: inherit;
    border-radius: 0px;
    transition: background-color 0.15s linear; }
    .cs-social-media-list__link:hover {
      background: #2d3e50; }
  .cs-social-media-list__icon {
    position: absolute;
    transform: translate3d(-55%, -55%, 0);
    top: 50%;
    left: 55%; }
    .cs-social-media-list__item--fb .cs-social-media-list__icon {
      width: 0.9em;
      height: 1.8em; }
    .cs-social-media-list__item--tw .cs-social-media-list__icon {
      width: 2.5em;
      height: 2em; }
    .cs-social-media-list__item--yt .cs-social-media-list__icon {
      width: 1.8em;
      height: 2.1em; }
    .cs-social-media-list__item--gp .cs-social-media-list__icon {
      width: 2em;
      height: 2em;
      margin-top: 0.1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-star-rating {
  display: flex;
  align-items: center; }
  .cs-star-rating__stars {
    display: inline-flex;
    padding: 0;
    width: 7.2rem;
    justify-content: space-between; }
    .cs-star-rating--summary .cs-star-rating__stars {
      width: 10rem;
      padding: 0; }
    .cs-star-rating--review .cs-star-rating__stars {
      width: 7.2rem;
      padding: 0; }
  .cs-star-rating__star {
    display: flex;
    width: 1.5rem;
    height: 100%;
    fill: #888; }
    .cs-star-rating__star--active {
      fill: #fcb739; }
    .cs-star-rating__star--half-active .star-left {
      fill: #fcb739; }
    .cs-star-rating__star--half-active .star-rigth {
      fill: #888; }
    .cs-star-rating--summary .cs-star-rating__star {
      width: 2rem; }
    .cs-star-rating--review .cs-star-rating__star {
      width: 1.5rem; }
    .cs-star-rating__star path {
      fill-opacity: 1;
      fill: inherit; }
  .cs-star-rating img {
    width: 1.5rem;
    height: 100%; }
  .cs-star-rating__form-stars {
    display: inline-flex;
    padding: 0; }
  .cs-star-rating__form-star {
    opacity: 1;
    fill: #888;
    width: 100%; }
    .cs-star-rating__form-star--active {
      fill: #fcb739; }
    .cs-star-rating__form-star path {
      fill-opacity: 1;
      fill: inherit; }
    .cs-star-rating__form-star:nth-last-of-type() {
      padding-right: 0; }
    .cs-star-rating__form-stars:hover .cs-star-rating__form-star {
      fill: #fcb739; }
    .cs-star-rating__form-stars label:hover ~ label .cs-star-rating__form-star {
      fill: #888; }
  .cs-star-rating__text {
    display: inline-block;
    color: #696969;
    padding-left: 0.5em;
    line-height: 1;
    padding-top: calc(1.5rem * 0.1); }
    .cs-star-rating__text--count:before {
      content: '('; }
    .cs-star-rating__text--count:after {
      content: ')'; }
    .cs-star-rating__text--empty {
      padding-left: 0; }
  .cs-star-rating__text-annotation {
    display: inline;
    line-height: 1; }
    .cs-product-tile .cs-star-rating__text-annotation {
      display: none; }
  .cs-star-rating__label {
    color: #2d3e50;
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    padding-top: calc(1.5rem * 0.2); }

.review-control-vote {
  overflow: hidden; }
  .review-control-vote .rating-1 {
    z-index: 1; }
    .review-control-vote .rating-1:before {
      content: none; }
  .review-control-vote .rating-2 {
    z-index: 2; }
    .review-control-vote .rating-2:before {
      content: none; }
  .review-control-vote .rating-3 {
    z-index: 3; }
    .review-control-vote .rating-3:before {
      content: none; }
  .review-control-vote .rating-4 {
    z-index: 4; }
    .review-control-vote .rating-4:before {
      content: none; }
  .review-control-vote .rating-5 {
    z-index: 5; }
    .review-control-vote .rating-5:before {
      content: none; }
  .review-control-vote:before {
    content: none; }
  .review-control-vote label {
    position: static;
    cursor: pointer;
    display: block;
    width: 3rem;
    padding-right: 1rem;
    line-height: 0; }
    @media (min-width: 48em) {
      .review-control-vote label {
        width: 2.6rem;
        padding-right: 0.6rem; } }
    .review-control-vote label:last-child {
      width: 2rem;
      padding-right: 0; }
    .review-control-vote label span {
      clip: auto;
      height: auto;
      margin: 0;
      overflow: visible;
      padding: 0;
      position: static;
      width: auto;
      white-space: normal; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
[class^='swatch-opt-'] {
  font-size: 0.45em;
  min-height: calc( 1 * (2.8em + 8px));
  opacity: 1;
  transition: opacity 0.3s;
  pointer-events: none; }
  @media (min-width: 48.01em) {
    [class^='swatch-opt-'] {
      pointer-events: auto; } }
  [class^='swatch-opt-']:empty {
    opacity: 0; }

.swatch-opt {
  font-size: 0.9em; }
  .swatch-opt .mage-error {
    font-size: 1em;
    width: 100%;
    margin-left: calc(10rem + 1.5rem); }
    @media (min-width: 64em) {
      .swatch-opt .mage-error {
        margin-left: calc( 11rem + 1.5rem); } }

.swatch-attribute {
  display: flex;
  width: 100%;
  overflow: hidden;
  align-items: center !important;
  flex-wrap: wrap; }
  .swatch-attribute.swatch-layered {
    font-size: 0.8em; }
  .swatch-attribute + .swatch-attribute {
    margin-top: 0.8em; }

.swatch-attribute-label {
  text-transform: uppercase;
  line-height: calc( 2.8em - 6px + 0.1em);
  font-weight: 700;
  font-size: 1.1em;
  width: 10rem;
  margin-right: 1.5rem; }
  @media (min-width: 64em) {
    .swatch-attribute-label {
      width: 11rem; } }
  .swatch-attribute-label:after {
    content: ': ';
    line-height: calc( 2.8em - 6px + 0.1em); }

.swatch-attribute-selected-option {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

.swatch-attribute-options {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.2em;
  margin-bottom: -0.4em;
  min-width: 100%;
  justify-content: center; }
  .swatch-attribute-options:focus {
    box-shadow: none; }
  .swatch-opt .swatch-attribute-options {
    min-width: 0;
    justify-content: flex-start;
    max-width: calc( 100% - 1.5rem - 10rem); }
    @media (min-width: 64em) {
      .swatch-opt .swatch-attribute-options {
        max-width: calc( 100% - 1.5rem - 11rem); } }

.swatch-option-link-layered {
  font-size: 1em; }
  .swatch-option-link-layered:hover {
    text-decoration: none; }

.swatch-option {
  font-weight: normal;
  position: relative;
  min-width: 3.2em;
  height: 2.8em;
  padding: 0 0.35em;
  margin: 1px calc( 1px + 0.2em) calc(1px + 0.4em);
  border-radius: 0px;
  background-color: #f0f0f0;
  border: 3px solid #f0f0f0;
  color: #696969;
  cursor: pointer;
  line-height: calc( 2.8em - 6px + 0.1em);
  text-align: center;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s, color 0.3s;
  display: block !important; }
  .swatch-option:before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border: 1px solid #dcdcdc;
    border-radius: 0px;
    transition: border-color 0.3s; }
  .swatch-option:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    background: url(../images/icons/swatches/disabled.svg) rgba(220, 220, 220, 0.5) center no-repeat;
    transform: translate(-50%, -50%);
    width: calc(2.8em - 1.2em);
    height: calc(2.8em - 1.2em);
    background-size: 0.6em;
    transition: opacity 0.3s;
    opacity: 0; }
  .swatch-option.selected, .swatch-option.bis-selected {
    border: 3px solid #fff;
    background: #fff; }
    .swatch-option.selected:before, .swatch-option.bis-selected:before {
      border: 1px solid #2d3e50; }
  .swatch-option.disabled:not(.back-in-stock-alert), .swatch-option[disabled]:not(.back-in-stock-alert) {
    cursor: not-allowed; }
    .swatch-option.disabled:not(.back-in-stock-alert).text, .swatch-option[disabled]:not(.back-in-stock-alert).text {
      opacity: 0.65;
      color: #888;
      background: #fff; }
      .swatch-option.disabled:not(.back-in-stock-alert).text:before, .swatch-option[disabled]:not(.back-in-stock-alert).text:before {
        border: 1px solid #dcdcdc; }
    .swatch-option.disabled:not(.back-in-stock-alert).image:after, .swatch-option.disabled:not(.back-in-stock-alert).color:after, .swatch-option[disabled]:not(.back-in-stock-alert).image:after, .swatch-option[disabled]:not(.back-in-stock-alert).color:after {
      opacity: 1; }
  .swatch-option.back-in-stock-alert:after {
    background: rgba(220, 220, 220, 0.55) url(../images/icons/push-notification/icon_notification-outline.svg) center/64% no-repeat;
    opacity: 1; }
  .swatch-option.back-in-stock-alert.text {
    padding-right: 2em; }
    .swatch-option.back-in-stock-alert.text:after {
      left: auto;
      right: 0.35em;
      background-color: transparent;
      transform: translateY(-50%); }
  .swatch-option:not(.disabled):not(.selected):not([disabled]):hover, .swatch-option.back-in-stock-alert:hover {
    border: 3px solid #fff;
    background: #fff; }
    .swatch-option:not(.disabled):not(.selected):not([disabled]):hover:before, .swatch-option.back-in-stock-alert:hover:before {
      border: 1px solid #2d3e50; }

.swatch-input {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */
  left: -1000px;
  position: absolute;
  visibility: hidden; }

.swatch-more {
  display: none; }

.swatch-option-tooltip,
.swatch-option-tooltip-layered {
  display: none;
  position: absolute;
  margin: 0;
  z-index: 999;
  background: #fff;
  border-radius: 0.5rem;
  color: #888;
  font-size: 1.3rem;
  font-weight: 400;
  padding: 0.5rem;
  text-align: center;
  min-width: 2rem;
  border: 0.1rem solid #dcdcdc; }
  .swatch-option-tooltip .image,
  .swatch-option-tooltip-layered .image {
    display: block;
    margin: 0 auto;
    width: 110px;
    height: 110px; }
  .swatch-option-tooltip .corner:after,
  .swatch-option-tooltip-layered .corner:after {
    content: '';
    position: absolute;
    top: 100%;
    display: block;
    width: 1rem;
    height: 1rem;
    background-color: #fff;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    border-bottom: 0.1rem solid #dcdcdc;
    border-right: 0.1rem solid #dcdcdc;
    margin-top: calc( -0.5rem + 0.1rem); }

.swatch-option-tooltip {
  pointer-events: none; }

.missing-swatches-modal {
  max-width: 40rem;
  margin-left: auto; }
  .missing-swatches-modal .mage-error {
    padding-top: 0.8rem; }
  .missing-swatches-modal .swatch-attribute + .swatch-attribute {
    margin-top: 2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-topbar {
  background: transparent;
  display: none;
  width: 100%;
  font-size: 1.1rem; }
  @media (min-width: 64em) {
    .cs-topbar {
      display: flex;
      z-index: 302; } }
  .cs-topbar__wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-grow: 1;
    align-items: center;
    height: 2.7rem; }
    @media (min-width: 64em) {
      .cs-topbar__wrapper {
        flex-wrap: nowrap; } }
  .cs-topbar__item {
    color: #212121;
    display: flex;
    flex: 0 0 auto;
    white-space: nowrap;
    height: 100%; }
    .cs-topbar__item--usps {
      margin-right: auto;
      display: none; }
      @media (min-width: 80em) {
        .cs-topbar__item--usps {
          display: flex; } }
    .cs-topbar__item--hotline {
      align-items: center;
      flex: 1 1;
      justify-content: flex-end; }
    .cs-topbar__item--language {
      height: 100%; }
  .cs-topbar__list,
  .cs-topbar__item > ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
  .cs-topbar__list-item {
    margin-bottom: 0;
    height: 2.7rem;
    display: flex;
    align-items: center;
    position: relative; }
    .cs-topbar__list-item:not(:last-child) {
      margin-right: 0.9rem;
      padding: 0 0.3rem 0 0; }
    @media (min-width: 64em) {
      .cs-topbar__list-item {
        padding: 0 1.3rem 0 0;
        margin-right: 1.7rem; } }
    .cs-topbar__list-item:not(:last-child):before {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      content: '';
      border-right: 0.2rem solid #fff; }
  .cs-topbar__text {
    color: #212121; }
  .cs-topbar__link {
    margin-right: 0.9rem; }
    .cs-topbar__link, .cs-topbar__link:visited {
      color: #2d3e50;
      text-decoration: none; }
    .cs-topbar__link:hover, .cs-topbar__link:focus, .cs-topbar__link:active, .cs-topbar__link:visited:hover, .cs-topbar__link:visited:focus {
      color: #2d3e50;
      text-decoration: none; }
  .cs-topbar__hotline {
    display: flex;
    align-items: center; }
  .cs-topbar__phone-number {
    font-weight: 700;
    margin-right: 0.9rem; }
    .cs-topbar__phone-number, .cs-topbar__phone-number:visited {
      color: #000;
      text-decoration: none; }
    .cs-topbar__phone-number:hover, .cs-topbar__phone-number:focus, .cs-topbar__phone-number:active, .cs-topbar__phone-number:visited:hover, .cs-topbar__phone-number:visited:focus {
      color: #000;
      text-decoration: none; }

.cs-container--top-bar {
  background-color: #f0f0f0;
  max-width: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

h1 {
  font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2.6rem;
  line-height: 1.1;
  color: #2d3e50;
  font-weight: 500;
  text-transform: none;
  margin: 1rem 0 2rem; }

h2 {
  font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2.6rem;
  line-height: 1.1;
  color: #2d3e50;
  font-weight: 500;
  text-transform: none;
  margin: 1rem 0 2rem; }

h3 {
  font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.8rem;
  line-height: 1.1;
  color: #2d3e50;
  font-weight: 500;
  text-transform: none;
  margin: 1rem 0 2rem; }

h4 {
  font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.7rem;
  line-height: 1.1;
  color: #2d3e50;
  font-weight: 500;
  text-transform: none;
  margin: 1rem 0 2rem; }

h5 {
  font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.5rem;
  line-height: 1.1;
  color: #2d3e50;
  font-weight: 500;
  text-transform: none;
  margin: 1rem 0 2rem; }

h6 {
  font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  line-height: 1.1;
  color: #2d3e50;
  font-weight: 500;
  text-transform: none;
  margin: 1rem 0 2rem; }

a, a:visited {
  color: #2d3e50;
  text-decoration: none; }

a:hover, a:focus, a:active, a:visited:hover, a:visited:focus {
  color: #2d3e50;
  text-decoration: none; }

ul,
ol {
  margin: 0 0 2.5rem;
  padding: 0 0 0 4rem; }
  ul > li,
  ol > li {
    margin: 0 0 1rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-select {
  min-width: 0.5px;
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  height: 100%;
  padding: 0;
  opacity: 0;
  border: none; }
  .cs-select--mobile {
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    z-index: 4; }

.cs-html-select {
  position: relative;
  display: block;
  min-width: 15rem;
  box-sizing: border-box;
  z-index: 2; }
  .cs-html-select.open {
    z-index: 99; }
  .cs-html-select__trigger {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    width: 100%;
    min-width: 13rem;
    text-align: left;
    z-index: 3;
    overflow: hidden;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #dcdcdc;
    padding: 0.75em 1em;
    padding-right: 2.3em;
    border-radius: 0px;
    box-shadow: none;
    font-size: 1em; }
    .cs-html-select__trigger--disabled {
      opacity: 0.65;
      cursor: not-allowed; }
    .cs-html-select--error .cs-html-select__trigger {
      border-color: #f46667;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0; }
    .cs-html-select--open .cs-html-select__trigger,
    .cs-html-select.open .cs-html-select__trigger {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      border: 1px solid #2d3e50;
      border-bottom: 1px solid #dcdcdc; }
  .cs-html-select__trigger-text {
    color: #2d3e50;
    line-height: 1.275em;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1em;
    margin-right: 2rem; }
  .cs-html-select__trigger-caret {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%); }
  .cs-html-select__trigger-caret-arrow {
    display: block;
    position: relative; }
    .cs-html-select__trigger-caret-arrow:before, .cs-html-select__trigger-caret-arrow:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.7rem;
      height: 1px;
      left: auto;
      background-color: #dcdcdc;
      transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-html-select__trigger-caret-arrow:hover:before, .cs-html-select__trigger-caret-arrow:hover:after {
      background-color: #888; }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:before, .cs-html-select--open .cs-html-select__trigger-caret-arrow:after {
      background-color: #2d3e50; }
    .cs-html-select__trigger-caret-arrow:before {
      transform: rotate(45deg) translate3d(0, 0, 0);
      right: 1.7rem; }
    .cs-html-select__trigger-caret-arrow:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 1.2rem; }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:before {
      transform: rotate(-45deg); }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:after {
      transform: rotate(45deg); }
  .cs-html-select__menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    display: none;
    border: 1px solid #2d3e50;
    border-top: 1px solid #dcdcdc;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    background-color: #fff;
    box-shadow: 0 1px 5px 0 rgba(100, 100, 100, 0.2);
    margin-top: -1px;
    min-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    transform: translate3d(0, 0, 0); }
    .cs-html-select--open .cs-html-select__menu {
      display: block;
      opacity: 1; }
    .cs-html-select--autosuggest:not(.cs-html-select--open) .cs-html-select__menu {
      padding: 0;
      border: none; }
  .cs-html-select__menu-list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-html-select__menu-item {
    margin: 0;
    padding: 0;
    border-top: none; }
    .cs-html-select__menu-item--hidden {
      display: none; }
  .cs-html-select__menu-link {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 1em;
    height: 2.8em;
    color: #2d3e50;
    background-color: #fff;
    cursor: pointer;
    transition: background-color 0.15s linear, color 0.15s linear; }
    .cs-html-select__menu-item--selected .cs-html-select__menu-link {
      color: #fff;
      background-color: #2d3e50; }
    .cs-html-select__menu-link:hover, .cs-html-select__menu-link:focus,
    .cs-html-select__menu-item--focused .cs-html-select__menu-link {
      background-color: #2d3e50;
      color: #fff;
      text-decoration: none;
      outline: none; }
  .cs-html-select__menu-item-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .cs-html-select__text-image-wrapper {
    display: flex;
    align-items: center; }
  .cs-html-select__thumbnail {
    width: 2.5rem;
    height: 2.5rem;
    display: block;
    margin-right: 1rem; }
  .cs-html-select--autosuggest {
    padding: 0; }
    .cs-html-select--autosuggest .cs-html-select__menu {
      overflow-y: hidden;
      max-height: 220px; }
    .cs-html-select--autosuggest .cs-html-select__menu-list {
      max-height: 220px; }
    .cs-html-select--autosuggest:not(.cs-html-select--animate) .cs-html-select__menu {
      padding: 0;
      border: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
.cs-product-navigation {
  display: flex;
  align-items: center;
  margin: -4rem 0 0;
  height: calc( 1.1rem + ( 1rem ) + (1rem) + (0.5rem) + ( 0.5rem ) + 1px);
  border-bottom: 1px solid #dcdcdc; }
  .cs-product-navigation--initialized {
    height: auto; }
    .cs-product-navigation--initialized .cs-product-navigation__list {
      opacity: 1; }
  .cs-product-navigation__list {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    opacity: 0;
    transition: opacity 0.3s; }
  .cs-product-navigation__list-item {
    display: none;
    margin: 0; }
    .cs-product-navigation__list-item--active {
      display: block; }
  .cs-product-navigation__link {
    text-transform: uppercase;
    font-size: 1.1rem;
    line-height: 100%;
    font-weight: bold;
    padding: 0.5rem 2rem; }
    .cs-product-navigation__link--category, .cs-product-navigation__link--search, .cs-product-navigation__link--prev {
      text-align: left;
      position: relative; }
      .cs-product-navigation__link--category:before, .cs-product-navigation__link--category:after, .cs-product-navigation__link--search:before, .cs-product-navigation__link--search:after, .cs-product-navigation__link--prev:before, .cs-product-navigation__link--prev:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.7rem;
        height: 1px;
        left: auto;
        background-color: #2d3e50;
        transition: background-color 0 linear;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-product-navigation__link--category[aria-expanded="true"]:before, .cs-product-navigation__link--category[aria-expanded="true"]:after, .cs-product-navigation__link--search[aria-expanded="true"]:before, .cs-product-navigation__link--search[aria-expanded="true"]:after, .cs-product-navigation__link--prev[aria-expanded="true"]:before, .cs-product-navigation__link--prev[aria-expanded="true"]:after {
        background-color: #888; }
      .cs-product-navigation__link--category:before, .cs-product-navigation__link--search:before, .cs-product-navigation__link--prev:before {
        transform: rotate(45deg) translate3d(50%, -50%, 0);
        right: calc( 1.5rem + 1.2rem - 0.4rem); }
      .cs-product-navigation__link--category:after, .cs-product-navigation__link--search:after, .cs-product-navigation__link--prev:after {
        right: calc( 1.5rem + 1.2rem - 0.4rem);
        transform: rotate(-45deg) translate3d(50%, 50%, 0); }
      .cs-product-navigation__link--category[aria-expanded="true"]:before, .cs-product-navigation__link--search[aria-expanded="true"]:before, .cs-product-navigation__link--prev[aria-expanded="true"]:before {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: 1.5rem; }
      .cs-product-navigation__link--category[aria-expanded="true"]:after, .cs-product-navigation__link--search[aria-expanded="true"]:after, .cs-product-navigation__link--prev[aria-expanded="true"]:after {
        transform: rotate(-135deg) translate3d(0, 0, 0);
        right: calc( 1.5rem + 1.2rem - 0.4rem); }
      .cs-product-navigation__link--category:before, .cs-product-navigation__link--category:after, .cs-product-navigation__link--search:before, .cs-product-navigation__link--search:after, .cs-product-navigation__link--prev:before, .cs-product-navigation__link--prev:after {
        left: 0;
        right: auto; }
    .cs-product-navigation__link--next {
      text-align: right;
      position: relative; }
      .cs-product-navigation__link--next:before, .cs-product-navigation__link--next:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.7rem;
        height: 1px;
        left: auto;
        background-color: #2d3e50;
        transition: background-color 0 linear;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-product-navigation__link--next[aria-expanded="true"]:before, .cs-product-navigation__link--next[aria-expanded="true"]:after {
        background-color: #888; }
      .cs-product-navigation__link--next:before {
        transform: rotate(135deg) translate3d(50%, 0, 0);
        right: 0; }
      .cs-product-navigation__link--next:after {
        right: 0;
        transform: rotate(-135deg) translate3d(50%, 0, 0); }
      .cs-product-navigation__link--next[aria-expanded="true"]:before {
        transform: rotate(225deg) translate3d(0, 0, 0);
        right: calc( 1.5rem + 1.2rem - 0.4rem); }
      .cs-product-navigation__link--next[aria-expanded="true"]:after {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: 0; }
    .cs-product-navigation__link, .cs-product-navigation__link:visited {
      color: #2d3e50; }

.cs-container--page-pdp-product-nav {
  margin-bottom: 2rem; }
  @media (min-width: 48.01em) {
    .cs-container--page-pdp-product-nav {
      margin-bottom: 0; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-pwa-notification._show {
  position: fixed;
  bottom: 0;
  top: auto;
  height: 15rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow-y: visible; }
  .cs-pwa-notification._show .modal-inner-wrap {
    width: 100%;
    margin: 0;
    background: #fff;
    box-shadow: 0 -0.3rem 0.5rem 0 rgba(0, 0, 0, 0.15); }

.cs-pwa-notification--ios-guide .modal-inner-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  padding: 0;
  line-height: 1.35; }
  .cs-pwa-notification--ios-guide .modal-inner-wrap:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(242, 242, 247, 0);
    border-top-color: #f2f2f7;
    border-width: 1.6rem;
    margin-left: -1.6rem; }

.cs-pwa-notification--ios-guide .modal-text-content {
  padding: 0.4rem 1.4rem 1.1rem; }

.cs-pwa-notification--ios-guide._show {
  height: auto;
  left: 1.5rem;
  width: calc(100% - 3rem);
  padding-bottom: 2rem; }
  .cs-pwa-notification--ios-guide._show .modal-inner-wrap {
    background: #f2f2f7;
    border-radius: 6px;
    filter: drop-shadow(0 0 0.5rem rgba(0, 0, 0, 0.1));
    box-shadow: none; }

.cs-pwa-notification--ios-guide.device-iPad {
  bottom: auto;
  top: 0;
  padding-bottom: 0;
  padding-top: 2rem;
  left: auto;
  right: 1.5rem;
  width: auto;
  max-width: 38rem; }
  .cs-pwa-notification--ios-guide.device-iPad .modal-inner-wrap:after {
    top: auto;
    bottom: 100%;
    border-top-color: transparent;
    border-bottom-color: #f2f2f7;
    left: auto;
    right: 12.8vw; }
    @media (min-width: 64em) {
      .cs-pwa-notification--ios-guide.device-iPad .modal-inner-wrap:after {
        right: 11vw; } }

.cs-pwa-notification__title {
  margin: 0;
  padding: 2rem;
  font-size: 1.8rem; }

.cs-pwa-notification__content {
  padding: 0.5rem 2rem 1rem; }

.cs-pwa-notification__ios-transfer-icon {
  width: 1.8rem;
  height: 2.4rem;
  margin: 0 0.3rem;
  vertical-align: bottom; }

.cs-pwa-notification__footer {
  padding: 0.5rem 2rem 2rem;
  display: flex;
  justify-content: flex-end; }
  .cs-pwa-notification--ios-guide .cs-pwa-notification__footer {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    border-left: 1px solid #d9d9e7; }

.cs-pwa-notification__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-pwa-notification__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-pwa-notification__button, .cs-pwa-notification__button:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #2d3e50; }
    .cs-pwa-notification__button *, .cs-pwa-notification__button:visited * {
      color: #fff;
      fill: #fff; }
  .cs-pwa-notification__button:hover:not([disabled]), .cs-pwa-notification__button:focus:not([disabled]), .cs-pwa-notification__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #777; }
    .cs-pwa-notification__button:hover:not([disabled]) *, .cs-pwa-notification__button:focus:not([disabled]) *, .cs-pwa-notification__button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-pwa-notification__button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-pwa-notification__button span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }
  .cs-pwa-notification__button-icon {
    width: 1.5rem;
    height: 1.5rem;
    fill: currentColor; }

.cs-pwa-notification__close-button {
  border: 0;
  background: transparent;
  margin: 0;
  padding: 1.8rem; }

.cs-pwa-notification + .modals-overlay {
  display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-dailydeal {
  display: none; }
  .cs-dailydeal__header {
    display: flex;
    width: 100%;
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    justify-content: space-between;
    align-items: flex-start; }
  .cs-dailydeal__title {
    margin: 0;
    text-transform: uppercase;
    font-weight: 600; }
  .cs-dailydeal__items-amount {
    font-weight: 600; }
  .cs-dailydeal__countdown {
    display: flex;
    margin: 0;
    justify-content: stretch;
    align-items: stretch; }
  .cs-dailydeal__countdown-element {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 0.3rem 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    background: none;
    border-radius: 0px; }
    .cs-dailydeal__countdown-element--special {
      width: 50%;
      background: #e41f12;
      z-index: 5; }
    .cs-dailydeal--teaser .cs-dailydeal__countdown-element {
      min-height: 4rem; }
  .cs-dailydeal__countdown-icon {
    width: 1.9rem;
    height: 2.4rem;
    fill: #fff; }
  .cs-dailydeal__countdown-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    color: #e41f12;
    padding: 2px 0 0; }
  .cs-dailydeal__countdown-label {
    display: block;
    font-size: 1.1rem;
    font-weight: inherit;
    color: #888;
    padding: 2px 0 0; }
  .cs-dailydeal--tile {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 3; }
    .cs-dailydeal--tile .cs-dailydeal__availability {
      position: relative;
      background: #888;
      font-size: 1rem;
      color: #fff;
      padding: 2px 4px;
      z-index: 4;
      font-weight: 300;
      border-radius: 0px; }

@media (min-width: 23.125em) and (max-width: 599px) {
  .cs-dailydeal--tile .cs-dailydeal__countdown-element {
    margin-left: 0;
    margin-right: 0; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element:last-child:not(:only-child) {
      margin-left: 0; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element:last-child .cs-dailydeal__countdown-value:after {
      content: none; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element--special {
      width: auto; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special) {
      border-radius: 0;
      width: auto;
      padding: 0; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):before {
        transform: none; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):nth-child(2) {
        padding-left: 1.8rem;
        margin-left: -1rem !important; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):last-child {
        padding-right: 0.8rem;
        border-radius: 0 0px 0px 0; }
  .cs-dailydeal--tile .cs-dailydeal__countdown-value {
    font-size: 1.3rem; }
    .cs-dailydeal--tile .cs-dailydeal__countdown-value:after {
      content: ':'; }
  .cs-dailydeal--tile .cs-dailydeal__countdown-label {
    display: none; } }
  .cs-dailydeal__badge-pdp-icon {
    width: 1.5rem;
    height: 1.5rem;
    z-index: 10;
    fill: #fff; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-google-recaptcha {
  margin: 1rem 0; }
  .cs-google-recaptcha__badge--invisible .grecaptcha-badge {
    visibility: hidden;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden; }
  .cs-google-recaptcha__note {
    display: inline-block;
    margin: 0;
    font-size: 1.2rem;
    color: #696969; }
    .cs-google-recaptcha__note a, .cs-google-recaptcha__note a:visited {
      color: #2d3e50;
      text-decoration: none; }
    .cs-google-recaptcha__note a:hover, .cs-google-recaptcha__note a:focus, .cs-google-recaptcha__note a:active, .cs-google-recaptcha__note a:visited:hover, .cs-google-recaptcha__note a:visited:focus {
      color: #2d3e50;
      text-decoration: none; }
  .cs-google-recaptcha--newsletter {
    display: none;
    margin: 1rem 0; }
    .cs-google-recaptcha--newsletter .cs-google-recaptcha__note {
      margin: 0;
      font-size: 1.2rem;
      color: #fff; }
      .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:visited {
        color: #fff;
        text-decoration: none; }
      .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:hover, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:focus, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:active, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:visited:hover, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:visited:focus {
        color: #fff;
        text-decoration: underline; }
  .cs-google-recaptcha--customer_create {
    margin-top: -2rem; }
  .cs-google-recaptcha--customer_login .g-recaptcha {
    margin-bottom: 0 !important; }

.loading-mask[data-role='main-css-loader'] {
  display: none !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Buybox custom vars
 */
@media (min-width: 48em) {
  .cs-page-product__top {
    display: flex;
    align-items: stretch;
    margin-bottom: 40px; } }

.cs-page-product__gallery {
  position: relative; }
  @media (min-width: 48em) {
    .cs-page-product__gallery {
      width: calc(100% - 40%);
      margin-top: 3rem;
      margin-right: 3rem; } }

.cs-page-product__buybox {
  border-top: 1px solid #dcdcdc;
  margin-top: 1rem;
  padding-top: 1rem; }
  @media (min-width: 48em) {
    .cs-page-product__buybox {
      width: 40%;
      margin-top: 0;
      padding-top: 0;
      border-top: 0; } }

.cs-page-product__badges {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  position: absolute;
  z-index: 120;
  top: 0;
  right: 0; }

.cs-page-product__badge-item {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  margin-bottom: 1.5rem;
  margin-left: 1.5rem; }

.cs-page-product__badge {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #2d3e50;
  color: #fff;
  border: 0;
  border-radius: 0px;
  padding: 0 0.7rem;
  font-size: 1.1rem;
  font-weight: 700;
  min-height: 2em;
  text-transform: uppercase; }
  .cs-page-product__badge--new {
    background-color: #2d3e50;
    color: #000; }
    .cs-page-product__badge--new .cs-page-product__badge-text {
      line-height: normal; }
      .cs-page-product__badge--new .cs-page-product__badge-text + .cs-page-product__badge--new .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--discount {
    background-color: green;
    color: #fff; }
    .cs-page-product__badge--discount .cs-page-product__badge-text {
      line-height: normal; }
      .cs-page-product__badge--discount .cs-page-product__badge-text + .cs-page-product__badge--discount .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--popular {
    background-color: #37b841;
    color: #fff; }
    .cs-page-product__badge--popular .cs-page-product__badge-text {
      line-height: normal; }
      .cs-page-product__badge--popular .cs-page-product__badge-text + .cs-page-product__badge--popular .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--free-shipping {
    background-color: #37b841;
    color: #fff; }
    .cs-page-product__badge--free-shipping .cs-page-product__badge-text {
      line-height: normal; }
      .cs-page-product__badge--free-shipping .cs-page-product__badge-text + .cs-page-product__badge--free-shipping .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--dailydeal-pdp {
    background-color: #e41f12;
    color: #fff; }
    .cs-page-product__badge--dailydeal-pdp .cs-page-product__badge-text {
      line-height: normal; }
      .cs-page-product__badge--dailydeal-pdp .cs-page-product__badge-text + .cs-page-product__badge--dailydeal-pdp .cs-page-product__badge-text {
        margin-left: 0.5rem; }

.cs-page-product__badge-text {
  line-height: normal; }
  .cs-page-product__badge-text + .cs-page-product__badge-text {
    margin-left: 0.5rem; }

/**
 * Bundle Product customization
 */
.cs-container--page-pdp-bundle-config {
  padding: 0;
  border: 1.5rem solid #f0f0f0;
  position: relative;
  z-index: 2; }

.cs-container--page-pdp-bundle-config-content {
  background: #fff;
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28); }
  .cs-container--page-pdp-bundle-config-content:after {
    content: '';
    position: absolute;
    width: 2rem;
    height: 2rem;
    top: 1px;
    left: 50%;
    border: 2rem solid transparent;
    border-color: #fff #fff transparent transparent;
    transform-origin: 0 0;
    transform: rotate(-45deg) translate3d(-2rem, -2rem, 0);
    box-shadow: 5px -5px 10px 0 rgba(33, 33, 33, 0.08); }

.page-product-bundle .price-box.price-final_price .price-container.price-final_price {
  order: 2; }
  .page-product-bundle .price-box.price-final_price .price-container.price-final_price:not(:only-child) .price {
    color: #2d3e50; }

@media (min-width: 48em) {
  .page-product-bundle:not(.page-product-bundle-simplified) .product-add-form form {
    display: flex;
    align-items: stretch; } }

.page-product-bundle:not(.page-product-bundle-simplified) .bundle-options-wrapper {
  padding: 1.5rem;
  border-bottom: 1px solid #dcdcdc; }
  @media (min-width: 48em) {
    .page-product-bundle:not(.page-product-bundle-simplified) .bundle-options-wrapper {
      width: calc(100% - 40%);
      padding: 0;
      margin: 3rem;
      border-bottom: 0; } }

@media (min-width: 48em) {
  .page-product-bundle:not(.page-product-bundle-simplified) .block-bundle-summary {
    width: 40%; } }

.page-product-downloadable .product-options-bottom,
.page-product-downloadable .product-options-wrapper {
  float: none;
  width: 100%; }

.page-product-downloadable .product-add-form {
  margin-bottom: 0; }

.page-product-giftcard .product-info-wrapper {
  z-index: 2; }

@media (min-width: 64em) {
  .cs-container--pdp {
    padding-top: 0; } }

@media (max-width: 47.99em) {
  .cs-container--page-pdp-details-aw_pq_ajax_container {
    padding: 0; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .page-product-bundle .cs-container__main-column {
    width: 100%;
    margin-right: 0; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-bundle-box {
  display: none;
  /*.product-add-form {
        display: none;
    }*/ }
  .cs-bundle-box.product-add-form {
    display: none; }
  .cs-bundle-box .fieldset {
    border: 0;
    margin: 0;
    padding: 0; }
  .cs-bundle-box .title {
    margin: 0 0 0.7143em;
    padding: 0;
    font-size: 1.5em; }
    .cs-bundle-box .title + br {
      display: none; }
  .cs-bundle-box .back.customization {
    display: none; }
  .cs-bundle-box__field:not(:last-child) {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #dcdcdc; }
  .cs-bundle-box__product-name {
    margin: 0 0 0.5em;
    font-size: 1.2em;
    font-weight: 600; }
  @media (min-width: 48em) {
    .cs-bundle-box__options-list {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; } }
  .cs-bundle-box__options-list .product-name {
    font-size: 1.2em; }
  .cs-bundle-box__product-option-name.label {
    font-weight: 400;
    font-size: 1em; }
  .cs-bundle-box__qty {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    align-self: flex-end;
    width: auto; }
    .cs-bundle-box__qty .qty {
      max-width: 11rem;
      margin-bottom: 0; }
    .cs-bundle-box__qty .cs-box-addtocart__label {
      margin-right: 0.5rem; }
  @media (min-width: 48em) {
    .cs-bundle-box__summary {
      border-left: 1px solid #dcdcdc; } }
  .cs-bundle-box__summary .price-configured_price .price-as-configured {
    margin: 0; }
  .cs-bundle-box__summary .price-configured_price .price {
    font-size: 1.5em; }
  .cs-bundle-box__summary-section {
    padding: 1.5rem; }
    @media (min-width: 48em) {
      .cs-bundle-box__summary-section {
        padding: 1.5rem;
        border-top: 1px solid #dcdcdc; }
        .cs-bundle-box__summary-section:first-child {
          border-top: none; } }
    @media (min-width: 64em) {
      .cs-bundle-box__summary-section {
        padding: 3rem; } }
    .cs-bundle-box__summary-section:empty, .cs-bundle-box__summary-section:blank {
      display: none; }
  .cs-bundle-box__summary-product-details {
    display: flex;
    align-items: center; }
  .cs-bundle-box__summary-product-name {
    margin: 0 0 0 1.5rem; }
  .cs-bundle-box__addtocart {
    margin: 1.5rem 0 0;
    font-size: 1em; }
  .cs-bundle-box__addtocart-button {
    height: 100%;
    width: 100%;
    font-size: 1.4rem; }
  .cs-bundle-box__bunde-items {
    font-size: 1.4rem; }
  .cs-bundle-box__bundle-item:last-child {
    margin-bottom: 1.5rem; }
  .cs-bundle-box__bunde-item-name {
    margin: 0;
    font-weight: 600; }
  .cs-bundle-box .fieldset > p.required {
    margin: 1.5rem 0 0;
    color: #e41f12; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
.cs-buybox {
  height: 100%;
  font-size: 1.2rem;
  line-height: 1.25;
  /* Default styling is for IN STOCK variant */
  /* Default styling is for IN STOCK variant */
  /**
     * Downloadable products
     */
  /**
     * Grouped products
     */ }
  @media (min-width: 48em) {
    .cs-buybox {
      border-left: 1px solid #dcdcdc; } }
  .cs-buybox__section {
    padding: 1.5rem 0;
    border-top: 1px solid #dcdcdc; }
    .cs-buybox__section:first-child {
      border-top: none; }
    @media (min-width: 48em) {
      .cs-buybox__section {
        padding: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-buybox__section {
        padding: 3rem; } }
    .cs-buybox__section:empty, .cs-buybox__section:blank {
      display: none; }
  .cs-buybox__brand {
    display: inline-block; }
    .cs-buybox__brand:after {
      content: "/";
      font-size: 1.2rem;
      color: #888; }
  .cs-buybox__brand-text {
    font-size: 1.2rem;
    color: #888; }
  .cs-buybox__category {
    margin: 0;
    color: #888;
    font-size: 1.2rem;
    display: inline; }
  .cs-buybox__product-name {
    margin: 0;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: inherit; }
    .cs-buybox__product-name h1 {
      margin: 0;
      padding: 0;
      font-size: inherit;
      font-weight: inherit;
      line-height: inherit;
      text-transform: inherit; }
  .cs-buybox__reviews-summary, .cs-buybox__highlights, .cs-buybox__daily-deal {
    margin: 1.5rem 0 0; }
    .cs-buybox__reviews-summary:empty, .cs-buybox__reviews-summary:blank, .cs-buybox__highlights:empty, .cs-buybox__highlights:blank, .cs-buybox__daily-deal:empty, .cs-buybox__daily-deal:blank {
      margin: 0; }
  .cs-buybox__price {
    margin: 1.5rem 0 0; }
    .cs-buybox__price .price-box {
      display: flex;
      flex-direction: column-reverse;
      flex-wrap: nowrap;
      vertical-align: initial; }
      .cs-buybox__price .price-box .price {
        color: #2d3e50;
        font-size: 1.8rem;
        font-weight: 700; }
        .cs-buybox__price .price-box .price.discounted-price {
          color: #e41f12; }
      .cs-buybox__price .price-box .old-price {
        text-decoration: none; }
        .cs-buybox__price .price-box .old-price .price {
          color: #696969;
          font-size: 1.3rem;
          font-weight: 700;
          text-decoration: line-through; }
      .cs-buybox__price .price-box .special-price .price {
        color: #e41f12;
        font-size: 1.8rem;
        font-weight: 700; }
  .cs-buybox .price-tier_price {
    display: block; }
  .cs-buybox .product.attribute.overview {
    margin-top: 1.5rem; }
  .cs-buybox__product-variants, .cs-buybox__addtocart,
  .cs-buybox .product-options-wrapper {
    margin-bottom: 2rem; }
    .cs-buybox__product-variants .page-product-bundle, .cs-buybox__addtocart .page-product-bundle,
    .cs-buybox .product-options-wrapper .page-product-bundle {
      margin-bottom: 0; }
  .cs-buybox__product-variants .cs-html-select {
    display: block !important; }
  .cs-buybox__product-variants .cs-html-select__trigger {
    height: 4em; }
  .cs-buybox__product-variants-label {
    display: inline-block;
    margin-bottom: 0.4em; }
  .cs-buybox__addtocart-fieldset {
    display: flex;
    justify-content: stretch;
    align-items: flex-start; }
  .cs-buybox__addtocart-actions {
    flex-grow: 10; }
  .cs-buybox__addtocart-button {
    width: 100%;
    height: 100%; }
    .cs-buybox__addtocart-button strong {
      font-size: 1.2rem; }
  .cs-buybox__qty-wrapper {
    width: 10rem;
    margin: 0 1.5rem 0 0;
    font-size: 1.4rem;
    /* Downloadable product modification - align with Magento Blank */ }
    @media (min-width: 64em) {
      .cs-buybox__qty-wrapper {
        width: 11rem; } }
    .page-product-downloadable .cs-buybox__qty-wrapper {
      display: none; }
  .cs-buybox__update {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    width: 100%; }
    .cs-buybox__update:hover, .cs-buybox__update:focus, .cs-buybox__update:active {
      background-color: #2d3e50 !important; }
    .cs-buybox__update:before, .cs-buybox__update:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-buybox__update:before {
      width: 0;
      border-radius: 0 0px 0px 0;
      z-index: -1;
      background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
    .cs-buybox__update:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-buybox__update:hover:after {
      width: calc(100% + 2px); }
    .cs-buybox__update::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-buybox__update, .cs-buybox__update:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-buybox__update *, .cs-buybox__update:visited * {
        color: #fff;
        fill: #fff; }
    .cs-buybox__update:hover:not([disabled]), .cs-buybox__update:focus:not([disabled]), .cs-buybox__update:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-buybox__update:hover:not([disabled]) *, .cs-buybox__update:focus:not([disabled]) *, .cs-buybox__update:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-buybox__update[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-buybox__update-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-buybox__update-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }
  .cs-buybox__stock {
    display: flex;
    align-items: center;
    margin: 0 0 1.5rem;
    color: #37b841; }
    .cs-buybox__stock--unavailable {
      color: #e41f12; }
  .cs-buybox__stock-icon {
    width: 2.4em;
    height: 1.8em;
    margin-right: 1rem;
    fill: currentColor; }
  .cs-buybox__stock-subscription {
    margin: 0 0 1.5rem !important; }
  .cs-buybox__addto-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
  .cs-buybox__addto-item {
    margin: 0.5rem 2rem 0.5rem 0; }
    .cs-buybox__addto-item:last-child {
      margin-right: 0; }
  .cs-buybox__addto-link {
    display: inline-flex;
    color: inherit;
    text-decoration: inherit;
    transition: color 0.15s linear;
    align-items: center; }
    .cs-buybox__addto-link:hover {
      color: #2d3e50; }
  .cs-buybox__addto-icon {
    height: 1.5rem;
    margin-right: 0.8rem;
    transition: fill 0.15s linear; }
    .cs-buybox__addto-icon--wishlist {
      width: 1.5rem;
      fill: #e41f12; }
    .cs-buybox__addto-icon--compare {
      width: 2rem;
      fill: #2d3e50; }
  .cs-buybox__usps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    color: #888;
    justify-content: space-between;
    align-items: flex-start; }
  .cs-buybox__usp {
    display: flex;
    align-items: center; }
  .cs-buybox__usp-icon {
    height: 2.2rem;
    margin: 1px 0.8rem 0 0;
    fill: currentColor; }
    .cs-buybox__usp-icon--1 {
      width: 2.2rem; }
    .cs-buybox__usp-icon--2 {
      width: 2rem; }
    .cs-buybox__usp-icon--3 {
      width: 2.3rem; }
  .cs-buybox__usp-label {
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content; }
  .cs-buybox__downloadable-options .downloads > .label {
    margin: 0 0 0.7em; }
  .cs-buybox__downloadable-options .legend,
  .cs-buybox__downloadable-options .legend + br {
    display: none; }
  .cs-buybox__downloadable-options .choice {
    align-items: center;
    margin: 0 0 0.7em; }
    .cs-buybox__downloadable-options .choice:last-child {
      margin-bottom: 0; }
  .cs-buybox__downloadable-options input {
    margin: 0 0.7em 0 0; }
  .cs-buybox__downloadable-options .field .label {
    width: auto; }
  .page-product-downloadable .cs-buybox .product-options-bottom .price-final_price {
    display: none; }
  .cs-buybox .grouped {
    margin-bottom: 0; }
    .cs-buybox .grouped .col {
      vertical-align: middle; }
      .cs-buybox .grouped .col:first-child {
        padding-left: 0; }
      .cs-buybox .grouped .col:last-child {
        padding-right: 0; }
    .cs-buybox .grouped .qty {
      width: 10rem; }
    .cs-buybox .grouped .price-final_price {
      display: block;
      margin-top: 0.3em; }
  .cs-buybox #validation-message-box {
    margin: 0 0 1em; }
  .cs-buybox .customize {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    margin-bottom: 3rem; }
    .cs-buybox .customize::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-buybox .customize, .cs-buybox .customize:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-buybox .customize *, .cs-buybox .customize:visited * {
        color: #fff;
        fill: #fff; }
    .cs-buybox .customize:hover:not([disabled]), .cs-buybox .customize:focus:not([disabled]), .cs-buybox .customize:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-buybox .customize:hover:not([disabled]) *, .cs-buybox .customize:focus:not([disabled]) *, .cs-buybox .customize:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-buybox .customize[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-buybox .customize span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }

.cs-buybox {
  height: 100%;
  font-size: 1.2rem;
  line-height: 1.8;
  /* Default styling is for IN STOCK variant */
  /* Default styling is for IN STOCK variant */
  /**
     * Downloadable products
     */
  /**
     * Grouped products
     */ }
  @media (min-width: 48em) {
    .cs-buybox {
      border-left: none; } }
  .cs-buybox__section {
    padding: 1.5rem 0;
    border-top: none; }
    .cs-buybox__section:first-child {
      border-top: none; }
    @media (min-width: 48em) {
      .cs-buybox__section {
        padding: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-buybox__section {
        padding: 3rem; } }
    .cs-buybox__section:empty, .cs-buybox__section:blank {
      display: none; }
  .cs-buybox__brand {
    display: inline-block; }
    .cs-buybox__brand:after {
      content: "/";
      font-size: 1.2rem;
      color: #888; }
  .cs-buybox__brand-text {
    font-size: 1.2rem;
    color: #888; }
  .cs-buybox__category {
    margin: 0;
    color: #888;
    font-size: 1.2rem;
    display: inline; }
  .cs-buybox__product-name {
    margin: 0 0 20px 0;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.2em; }
    .cs-buybox__product-name h1 {
      margin: 0;
      padding: 0;
      font-size: inherit;
      font-weight: inherit;
      line-height: inherit; }
      @media (max-width: 47.99em) {
        .cs-buybox__product-name h1 {
          word-break: break-all; } }
  .cs-buybox__reviews-summary, .cs-buybox__highlights, .cs-buybox__daily-deal {
    margin: 1.5rem 0 0; }
    .cs-buybox__reviews-summary:empty, .cs-buybox__reviews-summary:blank, .cs-buybox__highlights:empty, .cs-buybox__highlights:blank, .cs-buybox__daily-deal:empty, .cs-buybox__daily-deal:blank {
      margin: 0; }
  .cs-buybox__price {
    margin: 1.5rem 0 0; }
    .cs-buybox__price #contact_link {
      font-weight: bold;
      font-size: 1.4rem;
      position: absolute; }
    .cs-buybox__price .price-box {
      display: flex;
      flex-direction: column-reverse;
      flex-wrap: nowrap;
      vertical-align: initial; }
      .cs-buybox__price .price-box .price {
        color: #2d3e50;
        font-size: 1.8rem;
        font-weight: 700; }
        .cs-buybox__price .price-box .price.discounted-price {
          color: #e41f12; }
      .cs-buybox__price .price-box .old-price {
        text-decoration: none;
        margin-bottom: -5px; }
        .cs-buybox__price .price-box .old-price .price {
          color: #696969;
          font-size: 1.3rem;
          font-weight: 700;
          text-decoration: line-through; }
      .cs-buybox__price .price-box .special-price .price {
        color: #e41f12;
        font-size: 1.8rem;
        font-weight: 700; }
  .cs-buybox .price-tier_price {
    display: block; }
  .cs-buybox__product-variants, .cs-buybox__addtocart,
  .cs-buybox .product-options-wrapper {
    margin-bottom: 2rem; }
    .cs-buybox__product-variants .page-product-bundle, .cs-buybox__addtocart .page-product-bundle,
    .cs-buybox .product-options-wrapper .page-product-bundle {
      margin-bottom: 0; }
  .cs-buybox__product-variants .cs-html-select {
    display: block !important; }
  .cs-buybox__product-variants .cs-html-select__trigger {
    height: 4em; }
  .cs-buybox__product-variants-label {
    display: inline-block;
    margin-bottom: 0.4em; }
  .cs-buybox__addtocart-fieldset {
    display: flex;
    justify-content: stretch;
    align-items: flex-start; }
  .cs-buybox__addtocart-actions {
    flex-grow: 10; }
  .cs-buybox__addtocart-button {
    width: 100%;
    height: 100%; }
    .cs-buybox__addtocart-button strong {
      font-size: 1.2rem; }
  .cs-buybox__qty-wrapper {
    width: 10rem;
    margin: 0 1.5rem 0 0;
    font-size: 1.4rem;
    /* Downloadable product modification - align with Magento Blank */ }
    @media (min-width: 64em) {
      .cs-buybox__qty-wrapper {
        width: 11rem; } }
    .page-product-downloadable .cs-buybox__qty-wrapper {
      display: none; }
  .cs-buybox__update {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    width: 100%; }
    .cs-buybox__update:hover, .cs-buybox__update:focus, .cs-buybox__update:active {
      background-color: #2d3e50 !important; }
    .cs-buybox__update:before, .cs-buybox__update:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-buybox__update:before {
      width: 0;
      border-radius: 0 0px 0px 0;
      z-index: -1;
      background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
    .cs-buybox__update:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-buybox__update:hover:after {
      width: calc(100% + 2px); }
    .cs-buybox__update::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-buybox__update, .cs-buybox__update:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-buybox__update *, .cs-buybox__update:visited * {
        color: #fff;
        fill: #fff; }
    .cs-buybox__update:hover:not([disabled]), .cs-buybox__update:focus:not([disabled]), .cs-buybox__update:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-buybox__update:hover:not([disabled]) *, .cs-buybox__update:focus:not([disabled]) *, .cs-buybox__update:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-buybox__update[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-buybox__update-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-buybox__update-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }
  .cs-buybox__stock {
    display: flex;
    align-items: center;
    margin: 0 0 1.5rem;
    color: #37b841; }
    .cs-buybox__stock--unavailable {
      color: #e41f12; }
  .cs-buybox__stock-icon {
    width: 2.4em;
    height: 1.8em;
    margin-right: 1rem;
    fill: currentColor; }
  .cs-buybox__stock-subscription {
    margin: 0 0 1.5rem !important; }
  .cs-buybox__addto-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
  .cs-buybox__addto-item {
    margin: 0.5rem 2rem 0.5rem 0; }
    .cs-buybox__addto-item:last-child {
      margin-right: 0; }
  .cs-buybox__addto-link {
    display: inline-flex;
    color: inherit;
    text-decoration: inherit;
    transition: color 0.15s linear;
    align-items: center; }
    .cs-buybox__addto-link:hover {
      color: #2d3e50; }
  .cs-buybox__addto-icon {
    height: 1.5rem;
    margin-right: 0.8rem;
    transition: fill 0.15s linear; }
    .cs-buybox__addto-icon--wishlist {
      width: 1.5rem;
      fill: #e41f12; }
    .cs-buybox__addto-icon--compare {
      width: 2rem;
      fill: #2d3e50; }
  .cs-buybox__usps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    color: #888;
    justify-content: space-between;
    align-items: flex-start; }
  .cs-buybox__usp {
    display: flex;
    align-items: center; }
  .cs-buybox__usp-icon {
    height: 2.2rem;
    margin: 1px 0.8rem 0 0;
    fill: currentColor; }
    .cs-buybox__usp-icon--1 {
      width: 2.2rem; }
    .cs-buybox__usp-icon--2 {
      width: 2rem; }
    .cs-buybox__usp-icon--3 {
      width: 2.3rem; }
  .cs-buybox__usp-label {
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content; }
  .cs-buybox__downloadable-options .downloads > .label {
    margin: 0 0 0.7em; }
  .cs-buybox__downloadable-options .legend,
  .cs-buybox__downloadable-options .legend + br {
    display: none; }
  .cs-buybox__downloadable-options .choice {
    align-items: center;
    margin: 0 0 0.7em; }
    .cs-buybox__downloadable-options .choice:last-child {
      margin-bottom: 0; }
  .cs-buybox__downloadable-options input {
    margin: 0 0.7em 0 0; }
  .cs-buybox__downloadable-options .field .label {
    width: auto; }
  .page-product-downloadable .cs-buybox .product-options-bottom .price-final_price {
    display: none; }
  .cs-buybox .grouped {
    margin-bottom: 0; }
    .cs-buybox .grouped .col {
      vertical-align: middle; }
      .cs-buybox .grouped .col:first-child {
        padding-left: 0; }
      .cs-buybox .grouped .col:last-child {
        padding-right: 0; }
    .cs-buybox .grouped .qty {
      width: 10rem; }
    .cs-buybox .grouped .price-final_price {
      display: block;
      margin-top: 0.3em; }
  .cs-buybox #validation-message-box {
    margin: 0 0 1em; }
  .cs-buybox .customize {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    margin-bottom: 3rem; }
    .cs-buybox .customize::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-buybox .customize, .cs-buybox .customize:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-buybox .customize *, .cs-buybox .customize:visited * {
        color: #fff;
        fill: #fff; }
    .cs-buybox .customize:hover:not([disabled]), .cs-buybox .customize:focus:not([disabled]), .cs-buybox .customize:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-buybox .customize:hover:not([disabled]) *, .cs-buybox .customize:focus:not([disabled]) *, .cs-buybox .customize:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-buybox .customize[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-buybox .customize span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-buybox .product.attribute.overview {
    font-size: 1.4rem;
    margin-top: 3rem; }

.cs-buybox__section--essentials .cs-product-short_desc {
  margin-bottom: 2rem; }

.cs-buybox__section--essentials .product.attribute.lager,
.cs-buybox__section--essentials .product.attribute.sku,
.cs-buybox__section--essentials .product.attribute.lieferzeit,
.cs-buybox__section--essentials .product.attribute.delivery_time {
  display: flex;
  font-size: 1.4rem;
  line-height: 1.8; }
  .cs-buybox__section--essentials .product.attribute.lager strong:after,
  .cs-buybox__section--essentials .product.attribute.sku strong:after,
  .cs-buybox__section--essentials .product.attribute.lieferzeit strong:after,
  .cs-buybox__section--essentials .product.attribute.delivery_time strong:after {
    content: ':';
    margin-right: 10px; }

.cs-buybox__section--essentials .product.brand {
  margin: 2rem 0; }
  .cs-buybox__section--essentials .product.brand img {
    max-height: 40px; }

@media (min-width: 48em) {
  .cs-buybox__section--essentials .cs-buybox__price {
    width: 50%; }
  .cs-buybox__section--essentials .cs-product-short_desc {
    font-size: 1.4rem;
    line-height: 1.8; } }

.page-product-grouped .cs-buybox__price .price-box {
  display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-buybox-related-products {
  margin: 0 !important; }
  .cs-buybox-related-products__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 3rem; }
  .cs-buybox-related-products__headline.title {
    margin: 0; }
  .cs-buybox-related-products__actions {
    margin: 0 0 0 2rem; }
  .cs-buybox-related-products__select-all {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    padding: 0.4em 0.55em;
    font-weight: 400; }
    .cs-buybox-related-products__select-all::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-buybox-related-products__select-all, .cs-buybox-related-products__select-all:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #2d3e50;
      color: #2d3e50;
      background-color: #fff; }
      .cs-buybox-related-products__select-all *, .cs-buybox-related-products__select-all:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .cs-buybox-related-products__select-all:hover:not([disabled]), .cs-buybox-related-products__select-all:focus:not([disabled]), .cs-buybox-related-products__select-all:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .cs-buybox-related-products__select-all:hover:not([disabled]) *, .cs-buybox-related-products__select-all:focus:not([disabled]) *, .cs-buybox-related-products__select-all:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-buybox-related-products__select-all[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-buybox-related-products__list, .cs-buybox-related-products__item {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-buybox-related-products__item {
    margin: 0 0 1rem;
    padding: 0 0 1rem;
    border-bottom: 1px solid #dcdcdc; }
    .cs-buybox-related-products__item:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: 0; }
  .cs-buybox-related-products__item-content {
    display: flex;
    justify-content: stretch;
    align-items: center; }
  .cs-buybox-related-products__checkbox-wrapper {
    width: auto;
    display: block;
    min-width: 7rem;
    margin: 0 2rem 0 0;
    text-align: center; }
    @media (min-width: 23.125em) {
      .cs-buybox-related-products__checkbox-wrapper {
        min-width: 7.6rem; } }
  .cs-buybox-related-products__checkbox {
    margin: 0 !important;
    width: 1.7em !important;
    height: 1.7em !important;
    background-size: 1.7em 1.7em !important; }
  .cs-buybox-related-products__checkbox-label {
    display: inline-block;
    width: 100%;
    margin-top: 0.5em;
    font-weight: 400 !important; }
  .cs-buybox-related-products__image {
    margin: 0 2rem 0 0; }
  .cs-buybox-related-products__item-details-wrapper {
    width: 100%; }
  .cs-buybox-related-products__item-details {
    margin: 0 0 0.6em;
    font-size: 1.2em; }
  .cs-buybox-related-products__item-name, .cs-buybox-related-products__item-name:visited {
    color: #212121; }
  .cs-buybox-related-products__item-actions {
    margin: 0 0 0 2rem; }
  .cs-buybox-related-products__atc-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    font-size: 1em;
    padding: 0.4em 0.7em; }
    .cs-buybox-related-products__atc-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-buybox-related-products__atc-button, .cs-buybox-related-products__atc-button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-buybox-related-products__atc-button *, .cs-buybox-related-products__atc-button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-buybox-related-products__atc-button:hover:not([disabled]), .cs-buybox-related-products__atc-button:focus:not([disabled]), .cs-buybox-related-products__atc-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-buybox-related-products__atc-button:hover:not([disabled]) *, .cs-buybox-related-products__atc-button:focus:not([disabled]) *, .cs-buybox-related-products__atc-button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-buybox-related-products__atc-button[disabled] {
      opacity: 0.65;
      cursor: auto; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-form, .cs-form__fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

.cs-form__field + .cs-form__field {
  margin-top: 1em; }

.cs-form--disabled {
  opacity: 0.6; }

.cs-form__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-form__button:hover, .cs-form__button:focus, .cs-form__button:active {
    background-color: #2d3e50 !important; }
  .cs-form__button:before, .cs-form__button:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-form__button:before {
    width: 0;
    border-radius: 0 0px 0px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
  .cs-form__button:after {
    width: 0;
    min-width: auto;
    background-color: #777;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 0px; }
  .cs-form__button:hover:after {
    width: calc(100% + 2px); }
  .cs-form__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-form__button, .cs-form__button:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #2d3e50; }
    .cs-form__button *, .cs-form__button:visited * {
      color: #fff;
      fill: #fff; }
  .cs-form__button:hover:not([disabled]), .cs-form__button:focus:not([disabled]), .cs-form__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #777; }
    .cs-form__button:hover:not([disabled]) *, .cs-form__button:focus:not([disabled]) *, .cs-form__button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-form__button[disabled] {
    opacity: 0.65;
    cursor: auto; }

.cs-form__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal;
  padding-left: 0;
  padding-right: 4em; }

.cs-form__button-icon {
  max-width: 1em;
  max-height: 1.4rem;
  z-index: 2;
  height: auto;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  margin-right: 0;
  right: 1em; }

.form,
.form .fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

.form .field + .field {
  margin-top: 1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-indicator-low-stock {
  position: relative;
  margin: -0.7rem 0 1rem;
  background: #f0f0f0;
  border-radius: 0px;
  padding: 0.5em;
  color: #2d3e50; }
  .cs-indicator-low-stock:after {
    position: absolute;
    bottom: 100%;
    right: 1.3rem;
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    border-color: rgba(240, 240, 240, 0);
    border-bottom-color: #f0f0f0;
    border-width: 1rem;
    margin-left: -1rem; }
  .cs-indicator-low-stock__content {
    display: flex;
    align-items: center; }
  .cs-indicator-low-stock__icon {
    width: 2em;
    height: 1.8em;
    margin-right: 0.75em;
    fill: currentColor;
    -webkit-animation: ringing 6s infinite;
            animation: ringing 6s infinite; }
  .cs-indicator-low-stock__label span {
    font-weight: 600; }

@-webkit-keyframes ringing {
  0%,
  12% {
    transform: scale(1) rotate(0deg); }
  3%,
  7% {
    transform: scale(1.3) rotate(27deg); }
  5%,
  9% {
    transform: scale(1.3) rotate(-27deg); } }

@keyframes ringing {
  0%,
  12% {
    transform: scale(1) rotate(0deg); }
  3%,
  7% {
    transform: scale(1.3) rotate(27deg); }
  5%,
  9% {
    transform: scale(1.3) rotate(-27deg); } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-indicator-fast-shipping {
  display: flex;
  color: #37b841;
  align-items: center; }
  .cs-indicator-fast-shipping:not(:last-child) {
    margin: 0 0 1rem; }
  .cs-indicator-fast-shipping__content {
    display: flex;
    align-items: center; }
  .cs-indicator-fast-shipping__element {
    display: none; }
    .cs-indicator-fast-shipping__element--visible {
      display: flex;
      color: #37b841;
      align-items: center; }
  .cs-indicator-fast-shipping__icon {
    width: 2.4em;
    height: 1.8em;
    margin: 0 1rem 0 0;
    fill: currentColor; }
    .cs-indicator-fast-shipping__icon * {
      fill: currentColor; }
  .cs-indicator-fast-shipping__headline {
    text-transform: uppercase;
    font-weight: 600;
    color: inherit; }
  .cs-indicator-fast-shipping__text {
    display: block;
    color: #888; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-indicator-free-shipping {
  display: flex;
  color: #37b841;
  align-items: center; }
  .cs-indicator-free-shipping:not(:last-child) {
    margin: 0 0 1rem; }
  .cs-indicator-free-shipping__icon {
    width: 2.4em;
    height: 1.8em;
    margin: 0 1rem 0 0;
    fill: currentColor; }
    .cs-indicator-free-shipping__icon * {
      fill: currentColor; }
  .cs-indicator-free-shipping__headline {
    text-transform: uppercase;
    font-weight: 600;
    color: inherit; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-indicator-recently-bought:not(:last-child) {
  margin: 0 0 1rem; }

.cs-indicator-recently-bought__content {
  display: flex;
  color: #37b841;
  align-items: center; }

.cs-indicator-recently-bought__icon {
  width: 2.4em;
  height: 1.8em;
  margin: 0 1rem 0 0;
  fill: currentColor; }
  .cs-indicator-recently-bought__icon * {
    fill: currentColor; }

.cs-indicator-recently-bought__headline {
  text-transform: uppercase;
  font-weight: 600;
  color: inherit; }

.cs-indicator-recently-bought__text {
  display: block;
  color: #888; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-indicator-exp-delivery {
  width: 100%;
  display: flex;
  color: #37b841;
  align-items: center; }
  .cs-indicator-exp-delivery:not(:last-child) {
    margin: 0 0 1rem; }
  .cs-indicator-exp-delivery__element {
    display: flex;
    align-items: center; }
  .cs-indicator-exp-delivery__element-icon {
    width: 2.4em;
    height: 1.8em;
    margin: 0 1rem 0 0;
    fill: currentColor;
    vertical-align: middle; }
    .cs-indicator-exp-delivery__element-icon * {
      fill: currentColor; }
  .cs-indicator-exp-delivery__text {
    display: block;
    color: #888;
    display: none; }
    .cs-indicator-exp-delivery__text--visible {
      display: inline-block; }
    .cs-indicator-exp-delivery__text--date {
      font-weight: 700; }
  .cs-indicator-exp-delivery__placeholder {
    display: block;
    color: #888;
    display: inline-block;
    margin-top: 0.5rem; }
    .cs-indicator-exp-delivery__placeholder--hidden {
      display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * gradient-shadow mixin provides gradient shadow on given position
 * @param $x - x-axis position
 * @param $y - y-axis position
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-product-gallery__loading-mask {
  padding: 0 !important;
  position: static; }

.cs-product-gallery__placeholder-image {
  text-align: center; }

.cs-product-gallery__placeholder-img {
  width: auto;
  height: auto;
  max-height: 400px; }

.cs-product-gallery__loader {
  position: relative;
  width: 100%; }
  @media (min-width: 64em) {
    .cs-product-gallery__loader {
      height: 400px;
      padding-bottom: 0 !important; } }
  .cs-product-gallery__loader source,
  .cs-product-gallery__loader img {
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    position: absolute; }

.fotorama {
  /**
     * Stage navigation (arrows)
     */
  /**
     * Thumbnails
     */
  /**
     * Thumbnails slider
     */
  /*
     * Bullet pagination (dots)
     */
  /**
     * Our custom spinner
     */ }
  .fotorama .fotorama__stage {
    margin-bottom: 0.4rem; }
    .fotorama .fotorama__stage.fotorama__shadows--left:before {
      background-image: linear-gradient(transparent, rgba(240, 240, 240, 0.4) 25%, rgba(240, 240, 240, 0.5) 75%, transparent), radial-gradient(farthest-side at 0 50%, rgba(240, 240, 240, 0.7), transparent); }
    .fotorama .fotorama__stage.fotorama__shadows--right:after {
      background-image: linear-gradient(transparent, rgba(240, 240, 240, 0.4) 25%, rgba(240, 240, 240, 0.5) 75%, transparent), radial-gradient(farthest-side at 100% 50%, rgba(240, 240, 240, 0.7), transparent); }
  .fotorama .fotorama__arr {
    background-color: transparent;
    width: 4.2rem;
    height: 5.4rem;
    top: 50%;
    bottom: auto;
    margin-top: -2.7rem; }
    .fotorama .fotorama__arr:active {
      background-color: #f0f0f0; }
    .fotorama .fotorama__arr .fotorama__arr__arr {
      width: 1.4rem;
      height: 2.7rem; }
    .fotorama .fotorama__arr--prev .fotorama__arr__arr, .fotorama .fotorama__arr--next .fotorama__arr__arr {
      background-position: 0 0;
      background-size: 100%; }
    .fotorama .fotorama__arr--prev .fotorama__arr__arr {
      background-image: url("../images/icons/fotorama/fotorama-arrow-prev.svg"); }
    .fotorama .fotorama__arr--next .fotorama__arr__arr {
      background-image: url("../images/icons/fotorama/fotorama-arrow-next.svg"); }
  .fotorama .fotorama__nav-wrap {
    text-align: center; }
  .fotorama .fotorama__nav--thumbs .fotorama__nav__frame {
    padding-left: 0 !important; }
    .fotorama .fotorama__nav--thumbs .fotorama__nav__frame:last-child {
      padding-right: 0 !important; }
  .fotorama .fotorama__nav__frame--thumb {
    padding: 0 !important;
    border: 0px;
    border-radius: 0px;
    overflow: hidden;
    transition: border-color 0.15s linear;
    text-align: left;
    box-sizing: border-box;
    margin: 0.4rem; }
    .fotorama .fotorama__nav__frame--thumb:not(.fotorama__active):hover {
      border-color: #888; }
    .fotorama .fotorama__nav__frame--thumb.fotorama__active {
      border-color: #2d3e50; }
  .fotorama .fotorama__thumb {
    cursor: pointer;
    background-color: #fff;
    background-image: url("../images/icons/fotorama/fotorama-spinner.svg");
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: 50% 50%; }
    .fotorama .fotorama__thumb.fotorama__loaded--img {
      background-image: none; }
  .fotorama .fotorama__thumb-border {
    display: none; }
  .fotorama .fotorama__thumb__arr {
    transition: all 0.3s ease-in-out; }
    .fotorama .fotorama__thumb__arr, .fotorama .fotorama__thumb__arr:hover {
      background: #fff;
      box-shadow: 0 0 1rem 1rem;
      color: #fff; }
    .fotorama .fotorama__thumb__arr:active {
      background: #f0f0f0;
      color: #f0f0f0; }
    .fotorama .fotorama__thumb__arr.fotorama__arr--disabled, .fotorama .fotorama__thumb__arr--disabled {
      display: none !important; }
    .fotorama .fotorama__thumb__arr .fotorama__thumb--icon {
      padding: 0;
      width: 1.4rem !important;
      height: 2.7rem; }
    .fotorama .fotorama__thumb__arr--left .fotorama__thumb--icon, .fotorama .fotorama__thumb__arr--right .fotorama__thumb--icon {
      background-position: 0 0;
      background-size: 100%; }
    .fotorama .fotorama__thumb__arr--left .fotorama__thumb--icon {
      background-image: url("../images/icons/fotorama/fotorama-arrow-prev.svg"); }
    .fotorama .fotorama__thumb__arr--right .fotorama__thumb--icon {
      background-image: url("../images/icons/fotorama/fotorama-arrow-next.svg"); }
  .fotorama .fotorama__nav--dots .fotorama__nav__shaft {
    margin: 0;
    padding: 0;
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 0;
    min-height: 3rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: #696969;
    z-index: 200; }
    .fotorama .fotorama__nav--dots .fotorama__nav__shaft--hidden {
      display: none; }
  .fotorama .fotorama__nav--dots .fotorama__nav__frame--dot {
    position: relative;
    margin: 0.4rem;
    border-radius: 2px;
    background: #f0f0f0;
    width: 2.2rem;
    height: 0.9rem;
    border: none;
    transition: all 0.15s; }
    .fotorama .fotorama__nav--dots .fotorama__nav__frame--dot:hover {
      background: #dcdcdc; }
    .fotorama .fotorama__nav--dots .fotorama__nav__frame--dot.fotorama__active, .fotorama .fotorama__nav--dots .fotorama__nav__frame--dot.fotorama__active:hover {
      background: #2d3e50; }
  .fotorama .fotorama__dot {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    margin: 0;
    cursor: pointer; }
  .fotorama .fotorama-grab-cursor,
  .fotorama .fotorama__wrap .fotorama__grab {
    cursor: pointer; }
  .fotorama .fotorama__spinner {
    -webkit-animation: none !important;
            animation: none !important;
    background-image: url("../images/icons/fotorama/fotorama-spinner.svg");
    background-color: #fff;
    border-radius: 0px; }
  .fotorama:not(.fotorama--fullscreen) .fotorama__nav {
    width: auto !important;
    display: inline-block; }
  .fotorama:not(.fotorama--fullscreen) .fotorama__nav-wrap {
    margin-left: -0.4rem;
    margin-right: -0.4rem; }
    .fotorama:not(.fotorama--fullscreen) .fotorama__nav-wrap--horizontal .fotorama__nav {
      height: auto !important; }
    .fotorama:not(.fotorama--fullscreen) .fotorama__nav-wrap--horizontal .fotorama__thumb__arr {
      width: 3rem; }
  .fotorama:not(.fotorama--fullscreen) .fotorama__nav__shaft {
    text-align: center; }
    .fotorama:not(.fotorama--fullscreen) .fotorama__nav__shaft.fotorama__grab {
      cursor: default; }

/*
* Styles only for fullscreeen
*/
/* stylelint-disable */
.fotorama.fotorama--fullscreen .fotorama__stage {
  padding-bottom: 0.8rem; }

.fotorama.fotorama--fullscreen .fotorama__nav__frame--thumb {
  margin: 0 0.4rem; }

.fotorama.fotorama--fullscreen .fotorama__nav {
  padding-left: calc(0.8rem / 2 + 2px);
  padding-right: calc(0.8rem / 2 + 2px); }

/* stylelint-enable */

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-product-details__item {
  background: none; }
  @media (min-width: 48em) {
    .cs-product-details__item {
      background: none; } }
  @media (max-width: 47.99em) {
    .cs-product-details__item:not(:first-child) {
      border-top: 1px solid #dcdcdc; } }
  .cs-product-details__item--main {
    background: none; }
  .cs-product-details__item--reviews {
    scroll-margin-top: 5rem; }
    @media (min-width: 48em) {
      .cs-product-details__item--reviews {
        scroll-margin-top: 11rem; } }
    @media (min-width: 80em) {
      .cs-product-details__item--reviews {
        scroll-margin-top: 11rem; } }
    .cs-product-details__item--reviews .cs-product-details__content {
      display: flex;
      flex-flow: row wrap; }
      @media (max-width: 47.99em) {
        .cs-product-details__item--reviews .cs-product-details__content {
          margin-top: 2.5rem; } }
  .cs-product-details__item--related, .cs-product-details__item--upsell, .cs-product-details__item--content-constructor {
    background: transparent; }
  .cs-product-details__item--content-constructor .cs-product-details__headline {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-product-details__item--aw_pq_ajax_container {
    background: none;
    margin-bottom: 2.5rem; }
    .cs-product-details__item--aw_pq_ajax_container .cs-product-details__headline,
    .cs-product-details__item--aw_pq_ajax_container .aw-pq-question-sort {
      padding-left: 1.5rem;
      padding-right: 1.5rem; }
      .cs-product-details__item--aw_pq_ajax_container .cs-product-details__headline[tabindex]:before, .cs-product-details__item--aw_pq_ajax_container .cs-product-details__headline[tabindex]:after,
      .cs-product-details__item--aw_pq_ajax_container .aw-pq-question-sort[tabindex]:before,
      .cs-product-details__item--aw_pq_ajax_container .aw-pq-question-sort[tabindex]:after {
        right: 3rem; }
    @media (max-width: 47.99em) {
      .cs-product-details__item--aw_pq_ajax_container .cs-product-details__content {
        margin-top: 2.5rem; } }

.cs-product-details__headline {
  font-size: 1rem;
  clear: both;
  padding: 2em 0;
  margin: 2em 0;
  font-size: 0.6rem;
  position: relative; }
  @media (min-width: 48em) {
    .cs-product-details__headline {
      font-size: 1rem; } }
  .cs-product-details__headline[tabindex] {
    position: relative; }
    .cs-product-details__headline[tabindex]:before, .cs-product-details__headline[tabindex]:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 1.2rem;
      height: 0.2rem;
      left: auto;
      background-color: #888;
      transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-product-details__headline[tabindex]:before, .cs-product-details__headline[tabindex]:after {
      right: 1.5rem;
      transform: translate3d(0, -50%, 0) !important; }
    .cs-product-details__headline[tabindex]:after {
      transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
    .cs-product-details__headline[tabindex][aria-expanded="true"]:before {
      transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
      opacity: 0; }
    .cs-product-details__headline[tabindex][aria-expanded="true"]:after {
      transform: translate3d(0, -50%, 0) rotate(0) !important; }
  @media (max-width: 47.99em) {
    .cs-product-details__headline {
      background: #f0f0f0;
      box-shadow: 0 2em 0 #f0f0f0, 0 -2em 0 #f0f0f0, 1.5rem 0 0 2em #f0f0f0, -1.5rem 0 0 2em #f0f0f0;
      margin-bottom: 4rem; } }

.cs-product-details__headline-title {
  display: block;
  text-align: center;
  align-items: center;
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #2d3e50;
  text-transform: none;
  text-align: left; }
  @media (min-width: 48em) {
    .cs-product-details__headline-title {
      display: flex; } }
  .cs-product-details__headline-title:before, .cs-product-details__headline-title:after {
    content: '';
    display: none;
    height: 1px;
    flex-grow: 1;
    background-color: #dcdcdc; }
    @media (min-width: 48em) {
      .cs-product-details__headline-title:before, .cs-product-details__headline-title:after {
        display: flex; } }
  .cs-product-details__headline-title:before {
    margin-right: 0.6em; }
  .cs-product-details__headline-title:after {
    margin-left: 0.6em; }
  @media (min-width: 48em) {
    .cs-product-details__headline-title {
      display: block;
      text-align: center;
      align-items: center;
      margin: 0;
      font-size: 2.6rem;
      font-weight: 700;
      color: #2d3e50;
      text-transform: none;
      text-align: center; } }
  @media (min-width: 48em) and (min-width: 48em) {
    .cs-product-details__headline-title {
      display: flex; } }
  @media (min-width: 48em) {
      .cs-product-details__headline-title:before, .cs-product-details__headline-title:after {
        content: '';
        display: none;
        height: 1px;
        flex-grow: 1;
        background-color: #dcdcdc; } }
    @media (min-width: 48em) and (min-width: 48em) {
      .cs-product-details__headline-title:before, .cs-product-details__headline-title:after {
        display: flex; } }
  @media (min-width: 48em) {
      .cs-product-details__headline-title:before {
        margin-right: 0.6em; }
      .cs-product-details__headline-title:after {
        margin-left: 0.6em; } }
  .cs-product-details__headline-title .counter {
    display: none; }
  .cs-product-details__headline-title .counter {
    display: inline;
    margin-left: 0.2em; }
    .cs-product-details__headline-title .counter:before {
      content: ' ('; }
    .cs-product-details__headline-title .counter:after {
      content: ')'; }

.cs-product-details__headline-subtitle {
  display: none; }
  @media (min-width: 48em) {
    .cs-product-details__headline-subtitle {
      color: #888;
      font-size: 1.3rem;
      font-weight: 400;
      text-transform: none;
      margin: 0;
      display: none;
      text-align: center; } }
  @media (min-width: 48em) and (min-width: 48em) {
    .cs-product-details__headline-subtitle {
      display: block; } }

.cs-product-details__no-reviews-message {
  width: 100%; }

.magepsycho-product-attachments li a:before {
  content: '';
  background: url(../images/icons/pdf.png);
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  padding-right: 20px; }

.category-stanzmaschinen .price-details {
  display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-product-details-nav {
  display: none;
  font-size: 1.1rem; }
  @media (min-width: 48em) {
    .cs-product-details-nav {
      display: none; } }
  .cs-product-details-nav__title {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-product-details-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    display: flex;
    padding: 2em 0; }
  .cs-product-details-nav__item {
    margin: 0;
    padding: 0;
    font-size: 1em; }
    .cs-product-details-nav__item:first-child {
      margin-left: -2em; }
    .cs-product-details-nav__item:last-child {
      margin-right: -2em; }
    .cs-product-details-nav__item + .cs-product-details-nav__item {
      border-left: 1px solid #dcdcdc; }
  .cs-product-details-nav__link {
    display: block;
    text-transform: uppercase;
    font-weight: bold;
    padding: 0.5em 2em; }
    .cs-product-details-nav__link, .cs-product-details-nav__link:visited {
      color: #2d3e50;
      text-decoration: none; }
    .cs-product-details-nav__link:hover, .cs-product-details-nav__link:focus, .cs-product-details-nav__link:active, .cs-product-details-nav__link:visited:hover, .cs-product-details-nav__link:visited:focus {
      color: #2d3e50;
      text-decoration: none; }
  .cs-product-details-nav .counter:before {
    content: '('; }
  .cs-product-details-nav .counter:after {
    content: ')'; }

.cs-container--page-pdp-details-nav {
  background: #fff;
  box-shadow: 0px 0px 5px 0px rgba(33, 33, 33, 0.2); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-product-details-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 2em; }
  .cs-product-details-main--column {
    flex-direction: column; }
  .cs-product-details-main__column {
    flex: 1 1 100%; }
    @media (min-width: 48em) {
      .cs-product-details-main__column--left {
        flex: 0 0 65%; } }
    .cs-product-details-main__column--right {
      margin-top: 2em; }
      @media (min-width: 48em) {
        .cs-product-details-main__column--right {
          margin-top: 0;
          flex-grow: 0;
          flex-shrink: 0;
          flex-basis: calc(35% - 2em); } }
  .cs-product-details-main__headline {
    position: relative; }
    .cs-product-details-main__headline[tabindex] {
      position: relative; }
      .cs-product-details-main__headline[tabindex]:before, .cs-product-details-main__headline[tabindex]:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 1.2rem;
        height: 0.2rem;
        left: auto;
        background-color: #888;
        transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-product-details-main__headline[tabindex]:before, .cs-product-details-main__headline[tabindex]:after {
        right: 1.5rem;
        transform: translate3d(0, -50%, 0) !important; }
      .cs-product-details-main__headline[tabindex]:after {
        transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
      .cs-product-details-main__headline[tabindex][aria-expanded="true"]:before {
        transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
        opacity: 0; }
      .cs-product-details-main__headline[tabindex][aria-expanded="true"]:after {
        transform: translate3d(0, -50%, 0) rotate(0) !important; }
  .cs-product-details-main__headline-title {
    font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.7rem;
    line-height: 1.1;
    color: #2d3e50;
    font-weight: 500;
    text-transform: none;
    margin: 1rem 0 2rem; }
    @media (min-width: 48em) {
      .cs-product-details-main__headline-title {
        font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        font-size: 1.8rem;
        line-height: 1.1;
        color: #2d3e50;
        font-weight: 500;
        text-transform: none;
        margin: 1rem 0 2rem; } }
  .cs-product-details-main__item {
    width: 100%; }
    .cs-product-details-main__item + .cs-product-details-main__item {
      margin-top: 2em; }

.cs-product-details-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 2em; }
  .cs-product-details-main--column {
    flex-direction: column; }
  .cs-product-details-main__column {
    flex: 1 1 100%; }
    @media (min-width: 48em) {
      .cs-product-details-main__column--left {
        flex: 0 0 45%; } }
    .cs-product-details-main__column--right {
      margin-top: 2em; }
      @media (min-width: 48em) {
        .cs-product-details-main__column--right {
          margin-top: 0;
          flex: 0 0 45%; } }
      .cs-product-details-main__column--right .accordeon .accordeon_header {
        position: relative;
        background: #ececec !important;
        padding-left: 15px;
        font-size: 1.8rem;
        line-height: 1.1;
        color: #2d3e50;
        font-weight: 500;
        padding: .5em .5em .5em .7em;
        cursor: pointer; }
        .cs-product-details-main__column--right .accordeon .accordeon_header .accordeon_icon {
          display: block;
          position: absolute;
          background: url(../images/icons/arrow-left.png) no-repeat center top;
          width: 14px;
          height: 16px;
          top: 13px;
          right: 15px;
          left: auto; }
        .cs-product-details-main__column--right .accordeon .accordeon_header.active .accordeon_icon {
          background: url(../images/icons/arrow-down.png) no-repeat center top;
          width: 16px;
          height: 14px; }
      .cs-product-details-main__column--right .accordeon .accordeon_content {
        display: none;
        padding: 20px 0; }
        .cs-product-details-main__column--right .accordeon .accordeon_content.active {
          display: block; }
          .cs-product-details-main__column--right .accordeon .accordeon_content.active iframe {
            width: 100%; }
      .cs-product-details-main__column--right .accordeon .accordeon_spacer {
        height: 30px; }
  .cs-product-details-main__headline {
    position: relative; }
    .cs-product-details-main__headline[tabindex] {
      position: relative; }
      .cs-product-details-main__headline[tabindex]:before, .cs-product-details-main__headline[tabindex]:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 1.2rem;
        height: 0.2rem;
        left: auto;
        background-color: #888;
        transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-product-details-main__headline[tabindex]:before, .cs-product-details-main__headline[tabindex]:after {
        right: 1.5rem;
        transform: translate3d(0, -50%, 0) !important; }
      .cs-product-details-main__headline[tabindex]:after {
        transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
      .cs-product-details-main__headline[tabindex][aria-expanded="true"]:before {
        transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
        opacity: 0; }
      .cs-product-details-main__headline[tabindex][aria-expanded="true"]:after {
        transform: translate3d(0, -50%, 0) rotate(0) !important; }
  .cs-product-details-main__headline-title {
    font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.7rem;
    line-height: 1.1;
    color: #2d3e50;
    font-weight: 500;
    text-transform: none;
    margin: 1rem 0 2rem; }
    @media (min-width: 48em) {
      .cs-product-details-main__headline-title {
        font-family: "Futura LT W04 Bold1475826", sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        font-size: 1.8rem;
        line-height: 1.1;
        color: #2d3e50;
        font-weight: 500;
        text-transform: none;
        margin: 1rem 0 2rem; } }
  .cs-product-details-main__item {
    width: 100%; }
    .cs-product-details-main__item + .cs-product-details-main__item {
      margin-top: 2em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

.cs-review {
  font-size: 1.4rem; }
  .cs-review__title {
    font-weight: 700;
    margin: 0 0 0.7rem;
    color: #2d3e50; }
  .cs-review__rating, .cs-review__ratings {
    margin: 0 0 2rem;
    padding: 0; }
  .cs-review__compound-rating {
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    max-width: 20rem;
    margin-bottom: 0.3em; }
    .cs-review__compound-rating:last-child {
      margin-bottom: 0; }
  .cs-review__meta {
    margin: 0 0 2rem;
    font-size: 0.9em; }
    .cs-review__meta--variant-support {
      display: flex;
      align-items: center; }
  .cs-review__meta-item {
    vertical-align: middle;
    padding: 0 1rem;
    line-height: 1em;
    border-right: 1px solid #dcdcdc; }
    .cs-review__meta-item:first-child {
      padding-left: 0; }
    .cs-review__meta-item:last-child {
      border-right: none; }
  .cs-review__author {
    color: #2d3e50; }
  .cs-review__date {
    margin-left: -4px;
    color: #888; }
  .cs-review__variant {
    flex-grow: 1;
    padding: 0 1rem; }
    .cs-review__variant .swatch-attribute-options {
      margin-bottom: 0; }
    .cs-review__variant .swatch-option {
      cursor: default; }
  .cs-review__content {
    margin: 0;
    color: #888; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-reviews {
  flex: 1 1; }
  @media (max-width: 63.99em) {
    .cs-reviews {
      border-bottom: 1px solid #dcdcdc; } }
  .cs-reviews__title {
    background: #f0f0f0; }
    @media (min-width: 48em) {
      .cs-reviews__title {
        background: none;
        padding: 0; } }
  .cs-reviews__list {
    list-style: none;
    margin: 0;
    padding: 0; }
  .cs-reviews__label {
    float: left;
    line-height: 4rem; }
  .cs-reviews__item {
    padding: 0 0 2.5rem;
    margin: 0 0 2.5rem;
    border-bottom: 1px solid #dcdcdc;
    list-style: none; }
    .cs-reviews__item:last-of-type {
      border-bottom: 0;
      margin-bottom: 0; }
  .cs-reviews__form {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    margin: 2.5rem 0; }
    @media (min-width: 64em) {
      .cs-reviews__form {
        background: #f0f0f0;
        padding: 3rem; } }
    .cs-reviews__form .swatch-opt {
      margin-bottom: 1.5em;
      font-size: 1.4rem;
      width: 100%; }
      .cs-reviews__form .swatch-opt .swatch-attribute {
        flex-direction: column;
        align-items: flex-start !important; }
      .cs-reviews__form .swatch-opt .swatch-attribute-label {
        font-weight: 700;
        font-size: 0.85em;
        width: 100%;
        text-transform: none;
        color: inherit; }
        .cs-reviews__form .swatch-opt .swatch-attribute-label:after {
          content: ' *'; }
      .cs-reviews__form .swatch-opt .swatch-attribute-options {
        margin-bottom: 0; }
  .cs-reviews__headline {
    width: 100%;
    margin: 0 0 1.4em;
    text-align: left;
    font-size: 1.8rem; }
  .cs-reviews__product-name {
    font-weight: 200; }
  .cs-reviews__rating-item:not(:first-of-type) {
    margin-top: 1em; }
  .cs-reviews__options {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 1.5em;
    font-size: 1.4rem; }
    @media (min-width: 64em) {
      .cs-reviews__options {
        width: 50%;
        padding-right: 3rem;
        border-right: 1px solid #dcdcdc; } }
  .cs-reviews__ratings {
    width: 100%; }
  .cs-reviews__fieldset {
    width: 100%;
    margin-bottom: 1.5em;
    text-align: left;
    box-sizing: border-box; }
    @media (min-width: 64em) {
      .cs-reviews__fieldset {
        width: 50%;
        padding-left: 3rem; } }
  .cs-reviews__submit {
    width: 100%;
    display: flex;
    justify-content: flex-start; }
    @media (min-width: 64em) {
      .cs-reviews__submit {
        justify-content: center; } }
  .cs-reviews__submit-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .cs-reviews__submit-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-reviews__submit-button, .cs-reviews__submit-button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-reviews__submit-button *, .cs-reviews__submit-button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-reviews__submit-button:hover:not([disabled]), .cs-reviews__submit-button:focus:not([disabled]), .cs-reviews__submit-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-reviews__submit-button:hover:not([disabled]) *, .cs-reviews__submit-button:focus:not([disabled]) *, .cs-reviews__submit-button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-reviews__submit-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 30em) {
      .cs-reviews__submit-button {
        width: 100%; } }
  .cs-reviews__rating-control {
    box-sizing: content-box;
    border: 1px solid #dcdcdc;
    border-radius: 0px;
    padding: 0.75em 1em;
    height: 1.275em;
    background: transparent;
    margin: 0 0 0.2em;
    display: flex;
    align-items: center; }
    .cs-reviews__rating-control input[type='radio'],
    .cs-reviews__rating-control .cs-reviews__rate-stars span {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap;
      /* 1 */ }
  .cs-reviews__rate-stars {
    box-sizing: border-box;
    order: 0; }
  .cs-reviews__rate-feedback {
    order: 1;
    font-size: 0.85em;
    line-height: 0.9em;
    color: #888;
    font-weight: 700;
    margin-left: 1.5rem;
    display: flex;
    align-items: center; }
  .cs-reviews__review-field {
    min-height: 10rem;
    resize: vertical; }
  .cs-reviews .cs-pagination__content {
    justify-content: center;
    margin: 2.5rem 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-reviews-summary {
  line-height: 1;
  display: flex;
  margin-bottom: 3rem;
  flex-wrap: wrap;
  flex: 1 0 100%;
  border-bottom: 1px solid #dcdcdc; }
  @media (min-width: 64em) {
    .cs-reviews-summary {
      flex: 0 0 35rem;
      margin-bottom: 0;
      margin-right: 2.5rem;
      padding-right: 2.5rem;
      border-right: 1px solid #dcdcdc;
      border-bottom: 0;
      align-content: flex-start; } }
  .cs-reviews-summary__note {
    font-size: 4rem;
    line-height: 100%;
    color: #2d3e50;
    font-weight: 300;
    margin-bottom: 0.5rem; }
  .cs-reviews-summary__note-right {
    color: #696969; }
  .cs-reviews-summary__all-count {
    width: 100%;
    margin: 1rem 0 2rem; }
  .cs-reviews-summary__button-wrapper {
    width: 100%;
    margin-top: 2.5rem;
    padding: 2.5rem 0;
    border-top: 1px solid #dcdcdc; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-reviews-summary__button-wrapper {
    margin-top: 0;
    border-top: 0; } }
  .cs-reviews-summary__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    font-size: 1.4rem; }
    .cs-reviews-summary__button:hover, .cs-reviews-summary__button:focus, .cs-reviews-summary__button:active {
      background-color: #2d3e50 !important; }
    .cs-reviews-summary__button:before, .cs-reviews-summary__button:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-reviews-summary__button:before {
      width: 0;
      border-radius: 0 0px 0px 0;
      z-index: -1;
      background: linear-gradient(0deg, transparent 0%, transparent 0%, #2d3e50 0%, #2d3e50 100%); }
    .cs-reviews-summary__button:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-reviews-summary__button:hover:after {
      width: calc(100% + 2px); }
    .cs-reviews-summary__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-reviews-summary__button, .cs-reviews-summary__button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .cs-reviews-summary__button *, .cs-reviews-summary__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-reviews-summary__button:hover:not([disabled]), .cs-reviews-summary__button:focus:not([disabled]), .cs-reviews-summary__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-reviews-summary__button:hover:not([disabled]) *, .cs-reviews-summary__button:focus:not([disabled]) *, .cs-reviews-summary__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-reviews-summary__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 29.99em) {
      .cs-reviews-summary__button {
        width: 100%; } }
  .cs-reviews-summary__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-reviews-summary__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }
  .cs-reviews-summary__stars {
    margin-right: 1rem;
    flex: 1 0 auto; }
    @media (min-width: 23.125em) {
      .cs-reviews-summary__stars {
        flex: 0 1 auto;
        margin-right: 4rem; } }
    @media (min-width: 48em) {
      .cs-reviews-summary__stars {
        flex: 0 1 100%; } }
  .cs-reviews-summary__bars {
    font-size: 1.4rem;
    list-style: none inside none;
    padding: 0;
    margin: 2.5rem 0 0;
    flex-grow: 1;
    color: #696969;
    max-width: 40rem;
    width: 100%; }
    @media (min-width: 23.125em) {
      .cs-reviews-summary__bars {
        margin-top: 0;
        width: auto; } }
    @media (min-width: 48em) {
      .cs-reviews-summary__bars {
        margin-top: 2.5rem; } }
  .cs-reviews-summary__bar {
    position: relative;
    vertical-align: bottom;
    display: flex;
    align-items: center;
    margin: 0 0 1rem 0; }
    .cs-reviews-summary__bar:last-child {
      margin-bottom: 0; }
    .cs-reviews-summary__bar-label {
      flex: 0 1 3.5em; }
    .cs-reviews-summary__bar-count {
      width: 1.5em;
      text-align: right; }
    .cs-reviews-summary__bar-progress {
      flex: 1 0 auto;
      position: relative;
      display: inline-block;
      min-width: 9rem;
      height: 0.9em;
      margin: 0 0.8rem 0 0.7rem;
      background: #f0f0f0; }
      .cs-reviews-summary__bar-progress-inner {
        position: absolute;
        left: 0;
        top: 0;
        height: inherit;
        background: #fedfa4; }
  .cs-reviews-summary__ratings-averages {
    list-style-type: none;
    width: 100%;
    margin: 2.5rem 0 0;
    padding: 2.5rem 0 0;
    border-top: 1px solid #dcdcdc;
    line-height: 1.43; }
    .cs-reviews-summary__ratings-averages-item {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 0.3em; }
      @media (min-width: 23.125em) {
        .cs-reviews-summary__ratings-averages-item {
          max-width: 25rem; } }
      @media (min-width: 48em) {
        .cs-reviews-summary__ratings-averages-item {
          max-width: 40rem; } }
      .cs-reviews-summary__ratings-averages-item:last-child {
        margin-bottom: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-tabs {
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28); }
  .cs-tabs--store-pickup {
    width: 100%;
    margin: 0;
    box-shadow: none;
    position: relative; }
    @media (max-width: 47.99em) {
      .cs-tabs--store-pickup:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
        z-index: -1;
        content: ''; } }
  .cs-tabs--bar {
    margin: 0 0 0 -1.5rem;
    padding: 0 1.5rem;
    border-bottom: 1px solid #dcdcdc;
    box-shadow: none; }
  .cs-tabs__triggers {
    display: flex;
    overflow: hidden;
    justify-content: space-between; }
    .cs-tabs--bar .cs-tabs__triggers {
      justify-content: flex-start; }
    #store-pickup ~ #shipping .cs-tabs__triggers {
      display: none; }
  .cs-tabs__title {
    flex-basis: 50%;
    background: #f0f0f0;
    box-shadow: inset 0 0 5px 0 #696969;
    margin-top: -1px;
    margin-right: -1px;
    padding-top: 0.2rem;
    padding-left: 0.2rem; }
    .cs-tabs__title--active {
      background: #fff;
      box-shadow: none;
      margin: 0;
      padding: 0; }
      .cs-tabs__title--active .cs-tabs__title-link {
        cursor: default;
        color: #2d3e50 !important; }
        .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link {
          color: #2d3e50;
          box-shadow: none; }
          .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:after {
            position: absolute;
            bottom: -1px;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #fff;
            content: '';
            z-index: 3; }
          .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:visited, .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:hover {
            color: #2d3e50; }
        .cs-tabs__title--active .cs-tabs__title-link:visited, .cs-tabs__title--active .cs-tabs__title-link:hover, .cs-tabs__title--active .cs-tabs__title-link:active {
          color: #2d3e50 !important; }
          .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:visited, .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:hover, .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:active {
            color: #2d3e50; }
    .cs-tabs--bar .cs-tabs__title {
      margin: 0;
      padding: 0;
      flex-basis: auto;
      text-align: center;
      border: 1px solid #dcdcdc;
      border-bottom: none;
      border-left-width: 0;
      box-shadow: none;
      transition: background-color 0.15s linear, color 0.15s linear; }
      .cs-tabs--bar .cs-tabs__title:not(.cs-tabs__title--active):hover {
        background-color: #fdfdfd; }
      .cs-tabs--bar .cs-tabs__title:first-child {
        border-left-width: 1px;
        border-top-left-radius: 5px; }
      .cs-tabs--bar .cs-tabs__title:last-child {
        border-top-right-radius: 5px; }
  .cs-tabs__title-link {
    color: #888;
    text-decoration: none;
    line-height: 4rem;
    height: 4rem;
    padding: 0.1rem 1rem;
    display: block;
    position: relative;
    z-index: 2;
    font-weight: 600;
    font-size: 1.2rem;
    cursor: pointer; }
    @media (min-width: 30em) {
      .cs-tabs__title-link {
        padding: 0.1rem 2rem; } }
    @media (min-width: 48em) {
      .cs-tabs__title-link {
        font-size: 1.8rem;
        line-height: 5.5rem;
        height: 5.5rem; } }
    .cs-tabs__title-link:hover, .cs-tabs__title-link:active, .cs-tabs__title-link:focus, .cs-tabs__title-link:visited {
      color: #888; }
    .cs-tabs__title-link:hover {
      text-decoration: none; }
    .cs-tabs--bar .cs-tabs__title-link {
      position: relative;
      height: auto;
      line-height: 120%;
      font-size: 1.2rem;
      padding: 0.6rem 0.5rem;
      font-weight: 300;
      white-space: nowrap; }
      @media (min-width: 30em) {
        .cs-tabs--bar .cs-tabs__title-link {
          padding: 0.8rem 1.5rem; } }
      .cs-tabs--bar .cs-tabs__title-link:hover, .cs-tabs--bar .cs-tabs__title-link:active, .cs-tabs--bar .cs-tabs__title-link:focus, .cs-tabs--bar .cs-tabs__title-link:visited {
        color: #2d3e50; }
  .cs-tabs--bar .cs-tabs__title-span:not(:empty):before {
    content: '('; }
  .cs-tabs--bar .cs-tabs__title-span:not(:empty):after {
    content: ')'; }
  .cs-tabs__content {
    padding: 2rem; }

#store-pickup ~ #shipping #tab-customer {
  display: none; }

/** Styles form _tables.less of theme blank are moved here.
   * For some tables there is mobile layout applied also for tablet resolutions
   * Variables for typograpy, colors, border etc. are added
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable no-descending-specificity */
.table-wrapper {
  margin-bottom: 2rem; }
  @media (max-width: 47.99em) {
    .table-wrapper {
      border: none;
      display: block; } }
  @media (min-width: 48em) {
    .table-wrapper.cart .table-wrapper.cart {
      border-top: none; } }
  .table-wrapper.grouped tbody:last-child td {
    border-bottom: none; }

.table {
  border-bottom: 1px solid #dcdcdc;
  max-width: 100%;
  width: 100%;
  background: transparent; }
  .table > caption {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .table:not(.totals):not(.table-totals) {
    border: none; }
    .table:not(.totals):not(.table-totals) td {
      border: none;
      padding: 0.8rem 1rem; }
    .table:not(.totals):not(.table-totals) thead th {
      font-size: 1.5rem;
      text-transform: none;
      color: #2d3e50;
      background: #f4f4f4;
      font-family: "Futura LT W04 Bold1475826", sans-serif; }
    .table:not(.totals):not(.table-totals) tbody td {
      font-size: 1.4rem;
      color: #2d3e50;
      font-weight: 300;
      border-bottom: 1px solid #dcdcdc;
      border-left: none;
      vertical-align: middle; }
      @media (max-width: 47.99em) {
        .table:not(.totals):not(.table-totals) tbody td.actions {
          border-bottom: 1px solid #dcdcdc; } }
      .table:not(.totals):not(.table-totals) tbody td.actions a + a:before {
        margin: 0 0.7rem 0 0.5rem;
        content: '';
        display: inline-block;
        width: 1px;
        height: 1.4rem;
        border-right: 2px solid #dcdcdc;
        vertical-align: middle; }
      .table:not(.totals):not(.table-totals) tbody td:first-child {
        border-left: none; }
    @media (max-width: 63.99em) {
      .account .table:not(.totals):not(.table-totals) tbody tr:first-child td {
        padding-top: 0; } }
    .table:not(.totals):not(.table-totals) tbody tr:nth-child(even) {
      background: transparent; }
    .table:not(.totals):not(.table-totals) tfoot {
      font-size: 1.4rem; }
      @media (max-width: 47.99em) {
        .table:not(.totals):not(.table-totals) tfoot {
          background: #f0f0f0; } }
      .table:not(.totals):not(.table-totals) tfoot .mark {
        text-align: right; }
      @media (max-width: 47.99em) {
        .table:not(.totals):not(.table-totals) tfoot .amount {
          text-align: right; } }
    .table:not(.totals):not(.table-totals) .price-box .price-container .price-including-tax:before,
    .table:not(.totals):not(.table-totals) .price-box .price-container .price-including-tax .price,
    .table:not(.totals):not(.table-totals) .price-box .special-price .price-container .price-including-tax:before,
    .table:not(.totals):not(.table-totals) .price-box .special-price .price-container .price-including-tax .price,
    .table:not(.totals):not(.table-totals) .price-box .price-container .price-excluding-tax:before,
    .table:not(.totals):not(.table-totals) .price-box .price-container .price-excluding-tax .price,
    .table:not(.totals):not(.table-totals) .price-box .special-price .price-container .price-excluding-tax:before,
    .table:not(.totals):not(.table-totals) .price-box .special-price .price-container .price-excluding-tax .price {
      font-weight: normal; }
  .table .price-excluding-tax,
  .table .price-including-tax,
  .table .items-qty,
  .table .product-item-name {
    font-size: 1.4rem;
    line-height: inherit; }
  .table .box-tocart {
    margin-bottom: 0; }

@media (max-width: 47.99em) {
  .table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    position: relative; }
    .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) {
      border: none;
      font-size: 1.4rem;
      padding: 0; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals):last-child {
        padding-bottom: 1.2rem; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) thead {
        display: none; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td {
        border: none;
        display: block;
        font-size: 1.4rem;
        padding: 0.2rem; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td:first-child {
          padding-top: 2rem; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td:last-child {
          padding-bottom: 1rem; } }
      @media (max-width: 47.99em) and (max-width: 63.99em) {
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td:before {
          padding-right: 10px;
          content: attr(data-th) ": ";
          display: inline-block;
          color: #2d3e50;
          font-weight: 700;
          vertical-align: top; } }
      @media (max-width: 47.99em) and (max-width: 63.99em) {
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td.actions {
          border-bottom: 1px solid #dcdcdc; } }
      @media (max-width: 47.99em) and (max-width: 63.99em) {
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tbody td.actions:before {
          border: 0;
          clip: rect(0 0 0 0);
          height: 1px;
          margin: -1px;
          overflow: hidden;
          padding: 0;
          position: absolute;
          width: 1px;
          white-space: nowrap;
          /* 1 */ } }

@media (max-width: 47.99em) {
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot {
        display: block; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot th {
          box-sizing: border-box;
          float: left;
          padding-left: 0;
          padding-right: 0;
          text-align: left;
          width: 70%; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot td {
          box-sizing: border-box;
          float: left;
          padding-left: 0;
          padding-right: 0;
          text-align: right;
          width: 30%; }
        .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot tr {
          display: block; }
          .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot tr:first-child th,
          .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) tfoot tr:first-child td {
            padding-top: 2rem; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) td.qty:before,
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals) td.cart:before {
        display: none; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals).additional-attributes tbody th {
        display: none; }
      .table-wrapper .table:not(.comparison):not(.totals):not(.table-totals).additional-attributes tbody td:last-child {
        border: none;
        padding: 0 0 0.5rem; }
  .data-table-definition-list thead {
    display: none; }
  .data-table-definition-list tbody th {
    padding-bottom: 0; }
  .data-table-definition-list tbody th,
  .data-table-definition-list tbody td {
    display: block;
    padding-left: 0;
    padding-right: 0; } }

.table-wrapper.cart,
.account .table-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  position: relative; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .table-wrapper.cart .table,
  .account .table-wrapper .table {
    border: none;
    font-size: 1.4rem;
    padding: 0; }
    .table-wrapper.cart .table:last-child,
    .account .table-wrapper .table:last-child {
      padding-bottom: 1.2rem; }
    .table-wrapper.cart .table thead,
    .account .table-wrapper .table thead {
      display: none; }
    .table-wrapper.cart .table tbody td,
    .account .table-wrapper .table tbody td {
      border: none;
      display: block;
      font-size: 1.4rem;
      padding: 0.2rem; }
      .table-wrapper.cart .table tbody td:first-child,
      .account .table-wrapper .table tbody td:first-child {
        padding-top: 2rem; }
      .table-wrapper.cart .table tbody td:last-child,
      .account .table-wrapper .table tbody td:last-child {
        padding-bottom: 1rem; } }
    @media (min-width: 48em) and (max-width: 63.99em) and (max-width: 63.99em) {
      .table-wrapper.cart .table tbody td:before,
      .account .table-wrapper .table tbody td:before {
        padding-right: 10px;
        content: attr(data-th) ": ";
        display: inline-block;
        color: #212121;
        font-weight: 700;
        vertical-align: top; } }
    @media (min-width: 48em) and (max-width: 63.99em) and (max-width: 63.99em) {
      .table-wrapper.cart .table tbody td.actions,
      .account .table-wrapper .table tbody td.actions {
        border-bottom: 1px solid #dcdcdc; } }
    @media (min-width: 48em) and (max-width: 63.99em) and (max-width: 63.99em) {
      .table-wrapper.cart .table tbody td.actions:before,
      .account .table-wrapper .table tbody td.actions:before {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ } }

@media (min-width: 48em) and (max-width: 63.99em) {
    .table-wrapper.cart .table tfoot,
    .account .table-wrapper .table tfoot {
      display: block; }
      .table-wrapper.cart .table tfoot th,
      .account .table-wrapper .table tfoot th {
        box-sizing: border-box;
        float: left;
        padding-left: 0;
        padding-right: 0;
        text-align: left;
        width: 70%; }
      .table-wrapper.cart .table tfoot td,
      .account .table-wrapper .table tfoot td {
        box-sizing: border-box;
        float: left;
        padding-left: 0;
        padding-right: 0;
        text-align: right;
        width: 30%; }
      .table-wrapper.cart .table tfoot tr,
      .account .table-wrapper .table tfoot tr {
        display: block; }
        .table-wrapper.cart .table tfoot tr:first-child th,
        .table-wrapper.cart .table tfoot tr:first-child td,
        .account .table-wrapper .table tfoot tr:first-child th,
        .account .table-wrapper .table tfoot tr:first-child td {
          padding-top: 2rem; } }

/* stylelint-enable */

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-toolbar {
  font-size: 1.2rem;
  font-weight: inherit;
  text-transform: uppercase; }
  @media (min-width: 48em) {
    .cs-toolbar {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-wrap: wrap !important; } }
  .cs-toolbar__item {
    margin: 0 0 1.5rem; }
    @media (min-width: 48em) {
      .cs-toolbar__item {
        margin: 0 0 1.5rem;
        padding: 0; }
        .cs-toolbar__item:first-child {
          padding-left: 0; }
        .cs-toolbar__item:last-child {
          padding-right: 0; } }
    @media (min-width: 64em) {
      .cs-toolbar__item--pagination {
        margin-left: auto; } }
    .cs-toolbar__item--limiter {
      display: flex;
      align-items: center; }
    .cs-toolbar__item--offcanvas {
      margin-right: 3rem;
      z-index: 1; }
  .cs-toolbar .field .label {
    font-weight: inherit;
    width: auto; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-toolbar .cs-html-select {
    max-width: 20rem; } }
  .cs-toolbar .cs-html-select__trigger {
    min-height: 3.5rem; }
  .cs-toolbar__filters-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .cs-toolbar__filters-button::before, .cs-toolbar__filters-button::after {
      content: none; }
    .cs-toolbar__filters-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-toolbar__filters-button, .cs-toolbar__filters-button:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #2d3e50;
      color: #2d3e50;
      background-color: #fff; }
      .cs-toolbar__filters-button *, .cs-toolbar__filters-button:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .cs-toolbar__filters-button:hover:not([disabled]), .cs-toolbar__filters-button:focus:not([disabled]), .cs-toolbar__filters-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .cs-toolbar__filters-button:hover:not([disabled]) *, .cs-toolbar__filters-button:focus:not([disabled]) *, .cs-toolbar__filters-button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-toolbar__filters-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-toolbar__filters-button svg {
      max-width: 1em;
      max-height: 1.4rem;
      z-index: 2;
      height: auto;
      width: 100%;
      position: absolute;
      top: 50%;
      transform: translate3d(0, -50%, 0);
      margin-left: 0;
      left: 1em;
      max-width: 2.3rem;
      max-height: 2.3rem; }
  .cs-toolbar__filters-button-label {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 0;
    padding-left: 4em; }

.toolbar-amount {
  margin: 0;
  white-space: nowrap; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-sorter {
  display: flex;
  align-items: center; }
  .cs-sorter__label {
    padding: 0 1rem 0 0;
    white-space: nowrap; }
  .cs-sorter__select {
    width: 0px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-limiter {
  display: flex;
  position: relative;
  margin: 0 1rem 0 0;
  align-items: center;
  flex-wrap: nowrap; }
  .cs-limiter__label,
  .field .cs-limiter__label {
    white-space: nowrap; }
    .cs-limiter__label--prefix,
    .field .cs-limiter__label--prefix {
      padding: 0 1rem 0 1rem; }
    .cs-limiter__label--suffix,
    .field .cs-limiter__label--suffix {
      padding: 0 0 0 1rem; }
  .cs-limiter__pagination {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: stretch; }
  .cs-limiter__pagination-item {
    margin: 0;
    padding: 0;
    border: 1px solid #dcdcdc;
    text-align: center;
    margin-left: -1px;
    overflow: hidden; }
    .cs-limiter__pagination-item:first-child {
      border-top-left-radius: 0px;
      border-bottom-left-radius: 0px; }
    .cs-limiter__pagination-item:last-child {
      border-top-right-radius: 0px;
      border-bottom-right-radius: 0px; }
  .cs-limiter__pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    min-height: 3.5rem;
    border: 0;
    margin: 0;
    padding: 0.3em;
    background: #fff;
    cursor: pointer;
    line-height: 1;
    font-size: 1.2rem;
    font-weight: 400;
    transition: color 0.15s linear; }
    .cs-limiter__pagination-number, .cs-limiter__pagination-number:visited {
      color: #696969;
      text-decoration: none; }
    .cs-limiter__pagination-number:hover, .cs-limiter__pagination-number:focus, .cs-limiter__pagination-number:active {
      border: 0;
      color: #2d3e50;
      background: inherit;
      text-decoration: inherit; }
    .cs-limiter__pagination-item--current .cs-limiter__pagination-number, .cs-limiter__pagination-item--current .cs-limiter__pagination-number:hover, .cs-limiter__pagination-item--current .cs-limiter__pagination-number:focus, .cs-limiter__pagination-item--current .cs-limiter__pagination-number:active {
      color: #2d3e50;
      background: #f0f0f0;
      cursor: default; }
  .cs-limiter .cs-html-select,
  .cs-limiter .cs-html-select__trigger,
  .cs-limiter select {
    min-width: 3rem;
    min-height: 3.5rem; }

.cs-dashboard .limiter-label,
.cs-dashboard .limiter-text {
  font-weight: 400;
  font-size: 1.4rem;
  margin-right: 0.5rem; }

.cs-dashboard .limiter-text {
  white-space: nowrap; }

.cs-dashboard .limiter-options {
  margin-right: 0.5rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-pagination {
  /**
     * Input mode
     */
  /**
     * Bullet points mode
     */ }
  .cs-pagination__content {
    display: flex;
    align-items: center; }
  .cs-pagination__prefix-label {
    margin: 0;
    padding: 0 1rem 0 0; }
  .cs-pagination__page-provider {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    align-items: center;
    width: auto; }
  .cs-pagination__page-provider-input.input-text {
    margin: 0;
    max-height: 3.5rem;
    width: 4.5em;
    text-align: center;
    font-size: 0.85em; }
  .cs-pagination__page-provider-label {
    padding-left: 1rem;
    width: auto !important; }
  .cs-pagination__items {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: stretch; }
  .cs-pagination__item {
    margin: 0;
    padding: 0;
    border: 1px solid #dcdcdc;
    text-align: center;
    margin-left: -1px;
    overflow: hidden; }
    .cs-pagination__item:first-child {
      border-top-left-radius: 0px;
      border-bottom-left-radius: 0px; }
    .cs-pagination__item:last-child {
      border-top-right-radius: 0px;
      border-bottom-right-radius: 0px; }
  .cs-pagination__number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    min-height: 3.5rem;
    border: 0;
    margin: 0;
    padding: 0.3em;
    background: #fff;
    cursor: pointer;
    line-height: 1;
    font-size: 1.2rem;
    font-weight: 400;
    transition: color 0.15s linear; }
    .cs-pagination__number, .cs-pagination__number:visited {
      color: #696969;
      text-decoration: none; }
    .cs-pagination__number:hover, .cs-pagination__number:focus, .cs-pagination__number:active {
      border: 0;
      color: #2d3e50;
      background: inherit;
      text-decoration: inherit; }
    .cs-pagination__item--current .cs-pagination__number, .cs-pagination__item--current .cs-pagination__number:hover, .cs-pagination__item--current .cs-pagination__number:focus, .cs-pagination__item--current .cs-pagination__number:active {
      color: #2d3e50;
      background: #f0f0f0;
      cursor: default; }
  .cs-pagination__prev {
    margin-right: 1.5rem; }
  .cs-pagination__next {
    margin-left: 1.5rem; }
  .cs-pagination__action {
    display: flex;
    min-width: 3.5rem;
    min-height: 3.5rem;
    align-items: center;
    justify-content: center; }
  .cs-pagination__action-icon {
    width: 1.3rem;
    height: 2.4rem;
    fill: #2d3e50;
    transition: fill 0.15s linear; }
    .cs-pagination__action--disabled .cs-pagination__action-icon {
      fill: #dcdcdc; }
    .cs-pagination__action:not(.cs-pagination__action--disabled):hover .cs-pagination__action-icon,
    .cs-pagination__action:not(.cs-pagination__action--disabled):focus .cs-pagination__action-icon,
    .cs-pagination__action:not(.cs-pagination__action--disabled):active .cs-pagination__action-icon {
      fill: #2d3e50; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-viewmode-switcher {
  display: flex;
  align-items: center; }
  .cs-viewmode-switcher__label {
    margin: 0;
    padding: 0 1rem 0 0; }
  .cs-viewmode-switcher__modes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: stretch; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-viewmode-switcher__modes {
    padding-left: 1rem; } }
  .cs-viewmode-switcher__mode {
    margin: 0;
    padding: 0;
    border: 1px solid #dcdcdc;
    text-align: center;
    margin-left: -1px;
    overflow: hidden; }
    .cs-viewmode-switcher__mode:first-child {
      border-top-left-radius: 0px;
      border-bottom-left-radius: 0px; }
    .cs-viewmode-switcher__mode:last-child {
      border-top-right-radius: 0px;
      border-bottom-right-radius: 0px; }
  .cs-viewmode-switcher__mode-action {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    min-height: 3.5rem;
    border: 0;
    margin: 0;
    padding: 0.3em;
    background: #fff;
    cursor: pointer;
    line-height: 1;
    font-size: 1.2rem;
    font-weight: 400;
    transition: color 0.15s linear;
    height: 100%;
    padding-left: 0.7em;
    padding-right: 0.7em; }
    .cs-viewmode-switcher__mode-action, .cs-viewmode-switcher__mode-action:visited {
      color: #696969;
      text-decoration: none; }
    .cs-viewmode-switcher__mode-action:hover, .cs-viewmode-switcher__mode-action:focus, .cs-viewmode-switcher__mode-action:active {
      border: 0;
      color: #2d3e50;
      background: inherit;
      text-decoration: inherit; }
    .cs-viewmode-switcher__mode--current .cs-viewmode-switcher__mode-action, .cs-viewmode-switcher__mode--current .cs-viewmode-switcher__mode-action:hover, .cs-viewmode-switcher__mode--current .cs-viewmode-switcher__mode-action:focus, .cs-viewmode-switcher__mode--current .cs-viewmode-switcher__mode-action:active {
      color: #2d3e50;
      background: #f0f0f0;
      cursor: default; }
  .cs-viewmode-switcher__mode-icon {
    fill: currentColor; }
    .cs-viewmode-switcher__mode-icon--grid {
      width: 1.5rem;
      height: 1.1rem; }
    .cs-viewmode-switcher__mode-icon--list {
      width: 1.5rem;
      height: 1.1rem; }
    .cs-viewmode-switcher__mode--current .cs-viewmode-switcher__mode-icon {
      fill: #2d3e50; }
    .cs-viewmode-switcher__mode-icon + .cs-viewmode-switcher__mode-label {
      padding-left: 0.7rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@font-face {
  font-family: "Futura LT W04 Book1475802";
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix");
  src: url("../fonts/1475802/a3756428-debf-4a86-aed0-a834a3df9bd7.eot?#iefix") format("eot"), url("../fonts/1475802/5f081b13-e570-4277-9283-091a6f6cab04.woff2") format("woff2"), url("../fonts/1475802/588b3f3a-c193-4962-8e01-d4caef90f58b.woff") format("woff"), url("../fonts/1475802/cdced636-4488-4c04-809c-e6e1379600ec.ttf") format("truetype"); }

@font-face {
  font-family: "Futura LT W04 Bold1475826";
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix");
  src: url("../fonts/1475826/700bd18e-d9e0-45c5-93e2-7c930608c50e.eot?#iefix") format("eot"), url("../fonts/1475826/12dbb46a-1b0b-40ee-80a6-4141c349b55f.woff2") format("woff2"), url("../fonts/1475826/2abd55ef-07d0-473e-80e1-0e4066cd01fa.woff") format("woff"), url("../fonts/1475826/c4fa8988-43d1-4a01-96e4-36c5c5a121c9.ttf") format("truetype"); }

/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
.cs-captcha__image-controls {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 1.5rem; }
  .cs-dashboard .cs-captcha__image-controls {
    flex-direction: column;
    align-items: flex-start; }
    @media (min-width: 30em) {
      .cs-dashboard .cs-captcha__image-controls {
        flex-direction: row;
        align-items: flex-end; } }
  @media (max-width: 48em) {
    .cs-captcha__image-controls {
      flex-wrap: wrap; } }

.cs-captcha__image {
  margin-right: 1rem; }

.cs-captcha__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-captcha__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-captcha__button, .cs-captcha__button:visited {
    cursor: pointer;
    border-radius: 0px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid #2d3e50;
    color: #2d3e50;
    background-color: #fff; }
    .cs-captcha__button *, .cs-captcha__button:visited * {
      color: #2d3e50;
      fill: #2d3e50; }
  .cs-captcha__button:hover:not([disabled]), .cs-captcha__button:focus:not([disabled]), .cs-captcha__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid #2d3e50;
    color: #fff;
    background-color: #2d3e50; }
    .cs-captcha__button:hover:not([disabled]) *, .cs-captcha__button:focus:not([disabled]) *, .cs-captcha__button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-captcha__button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-dashboard .cs-captcha__button {
    margin-top: 2rem; }
    @media (min-width: 30em) {
      .cs-dashboard .cs-captcha__button {
        margin-top: 0; } }

.cs-captcha__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal; }

.cs-captcha__note {
  display: block;
  font-size: 0.85em;
  padding: 0.3em 0 0;
  color: #696969; }

.cs-dashboard .cs-captcha__wrapper {
  width: 100%;
  margin-bottom: 2rem; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3BkcC5jc3MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb25maWcvYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYmFzZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbmZpZy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb25maWcvYmFzZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2ZvbnQtZmFtaWx5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbmZpZy9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2J1bmRsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy91dGlsaXR5LWNsYXNzZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2NvbnRhaW5lci9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY29udGFpbmVyL2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2NvbnRhaW5lci9jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3R5cG9ncmFwaHkvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL01hZ2VudG9fVGhlbWUvd2ViL2Nzcy9zb3VyY2UvX2xheW91dC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYXV0aG9yaXphdGlvbi1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9hdXRob3JpemF0aW9uLWxpbmsvYXV0aG9yaXphdGlvbi1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2FkZHRvY2FydC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2dldC12YWx1ZS1mcm9tLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9idXR0b24vaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2FkZHRvY2FydC9hZGR0b2NhcnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9idXR0b24vbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9idXR0b24vYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2F1dG9jb21wbGV0ZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvYmFkZ2UvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9iYWRnZS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9icmVhZGNydW1icy9icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvY29tcG9uZW50LXNwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Nvb2tpZS1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9jb29raWUtbWVzc2FnZS9jb29raWUtbWVzc2FnZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9kaXNwbGF5LWNvbnRyb2xsZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Rpc3BsYXktY29udHJvbGxlci9kaXNwbGF5LWNvbnRyb2xsZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZHJvcGRvd24tc3dpdGNoZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3BzZXVkb2ljb24vaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duLXN3aXRjaGVyL2Ryb3Bkb3duLXN3aXRjaGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2ZpZWxkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9maWVsZC9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9maWVsZC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZmllbGQvZmllbGQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Zvb3Rlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mb290ZXItbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaGVhZGxpbmUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2hlYWRsaW5lL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2hlYWRsaW5lL2hlYWRsaW5lLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGxpbmUvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkZXIvc2VhcmNoL3NlYXJjaC5zY3NzIiwid2VicGFjazovL1tuYW1lXS91c2VyLW5hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcXR5LWNvdW50ZXIvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRlci91c2VyLW5hdi91c2VyLW5hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcXR5LWNvdW50ZXIvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2xhenlsb2FkL2xhenlsb2FkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2xpbmtzLWJsb2NrLWFkZHRvLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9saW5rcy1ibG9jay1hZGR0by9saW5rcy1ibG9jay1hZGR0by5zY3NzIiwid2VicGFjazovL1tuYW1lXS9sb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbG9nby9sb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21lc3NhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9tZXNzYWdlcy9tZXNzYWdlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9taW5pY2FydC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL21pbmljYXJ0L21pbmljYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21pbmljYXJ0LXByb2R1Y3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL21pbmljYXJ0LXByb2R1Y3QvbWluaWNhcnQtcHJvZHVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mcmVlLXNoaXBwaW5nLWluZGljYXRvci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZnJlZS1zaGlwcGluZy1pbmRpY2F0b3IvZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL21vZGFsL21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RlYXNlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbmF2aWdhdGlvbi90ZWFzZXIvdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9hc3BlY3QtcmF0aW8uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbmV3c2xldHRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbmV3c2xldHRlci9uZXdzbGV0dGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL29mZmNhbnZhcy10b2dnbGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL29mZmNhbnZhcy10b2dnbGUvb2ZmY2FudmFzLXRvZ2dsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9vZmZjYW52YXMtbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL29mZmNhbnZhcy1uYXZpZ2F0aW9uL29mZmNhbnZhcy1uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL29mZmNhbnZhcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzL29mZmNhbnZhcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wYWdlLXRpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcGFnZS1ib3R0b20uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wYWdlLWJvdHRvbS9wYWdlLWJvdHRvbS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcmljZS1ib3guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcmljZS1ib3gvcHJpY2UtYm94LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJpY2UtYm94L21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3QtdGlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3N0cmluZy10by1udW1iZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Byb2R1Y3QtdGlsZS9wcm9kdWN0LXRpbGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0LXRpbGUvcHJvZHVjdC10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3RzLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wdXNoLW5vdGlmaWNhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHVzaC1ub3RpZmljYXRpb24vcHVzaC1ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcXR5LWluY3JlbWVudC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcXR5LWluY3JlbWVudC9xdHktaW5jcmVtZW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NsaWRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc2xpZGVyL3NsaWRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zb2NpYWwtbWVkaWEtbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc29jaWFsLW1lZGlhLWxpc3Qvc29jaWFsLW1lZGlhLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc3Rhci1yYXRpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3N3YXRjaGVzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9zd2F0Y2hlcy9zd2F0Y2hlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS90b3BiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3RvcGJhci90b3BiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3R5cG9ncmFwaHkvdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS92aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Zpc3VhbGx5LWhpZGRlbi92aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3QtbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHJvZHVjdC1uYXZpZ2F0aW9uL3Byb2R1Y3QtbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wd2Etbm90aWZpY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wd2Etbm90aWZpY2F0aW9uL3B3YS1ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZGFpbHlkZWFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9kYWlseWRlYWwvZGFpbHlkZWFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2dvb2dsZS1yZWNhcHRjaGEuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2dvb2dsZS1yZWNhcHRjaGEvZ29vZ2xlLXJlY2FwdGNoYS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbm9uLWNyaXRpY2FsL25vbi1jcml0aWNhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL3BhZ2VzL3Byb2R1Y3QvcHJvZHVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9idW5kbGUtYm94LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9idW5kbGUtYm94L2J1bmRsZS1ib3guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYnV5Ym94LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9idXlib3gvYnV5Ym94LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYnV5Ym94L2J1eWJveC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9yZWxhdGVkLXByb2R1Y3RzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9idXlib3gvcmVsYXRlZC1wcm9kdWN0cy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9mb3JtL2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbG93LXN0b2NrLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pbmRpY2F0b3JzL2xvdy1zdG9jay5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mYXN0LXNoaXBwaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pbmRpY2F0b3JzL2Zhc3Qtc2hpcHBpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2luZGljYXRvcnMvbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2ZyZWUtc2hpcHBpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2luZGljYXRvcnMvZnJlZS1zaGlwcGluZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9yZWNlbnRseS1ib3VnaHQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2luZGljYXRvcnMvcmVjZW50bHktYm91Z2h0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2V4cGVjdGVkLWRlbGl2ZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pbmRpY2F0b3JzL2V4cGVjdGVkLWRlbGl2ZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3QtZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHJvZHVjdC1nYWxsZXJ5L21peGlucy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RlYXNlci9ob29rcy9wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJvZHVjdC1nYWxsZXJ5L3Byb2R1Y3QtZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RlYXNlci9taXhpbnMvcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcm9kdWN0LWRldGFpbHMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0LWRldGFpbHMvcHJvZHVjdC1kZXRhaWxzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL25hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Byb2R1Y3QtZGV0YWlscy9uYXYvbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21haW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Byb2R1Y3QtZGV0YWlscy9tYWluL21haW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0LWRldGFpbHMvbWFpbi9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Jldmlldy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcmV2aWV3L3Jldmlldy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9yZXZpZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9yZXZpZXdzL3Jldmlld3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcmV2aWV3cy1zdW1tYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9yZXZpZXdzLXN1bW1hcnkvcmV2aWV3cy1zdW1tYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RhYnMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3RhYnMvdGFicy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RhYmxlL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90YWJsZS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90YWJsZS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS90b29sYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Rvb2xiYXIvYW1vdW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b29sYmFyL3NvcnRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdG9vbGJhci9ob29rcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdG9vbGJhci9saW1pdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b29sYmFyL21peGlucy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdG9vbGJhci9wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b29sYmFyL3ZpZXdtb2RlLXN3aXRjaGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2NhcHRjaGEuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2NhcHRjaGEvY2FwdGNoYS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuXG4vLyBCcmVha3BvaW50cyBpbXBvcnQgZnJvbSB2aWV3LnhtbCBbcHhdXG4kYnJlYWtwb2ludHNfcHg6IGRlZXAtZ2V0KCR2aWV3LXhtbCwgdmFycywgTWFnZW50b19UaGVtZSwgYnJlYWtwb2ludHMpO1xuJGJyZWFrcG9pbnRzX2VtOiAoKTtcblxuQHVzZSBcInNhc3M6bWFwXCI7XG5cbkBmdW5jdGlvbiBjYWxjdWxhdGUtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzX2VtLCAkYnJlYWtwb2ludHNfcHgpIHtcbiAgICAkcmVzdWx0OiAkYnJlYWtwb2ludHNfZW07XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50c19weCB7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICRyZXN1bHQsXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgdW5xdW90ZSgka2V5KTogJHZhbHVlIC8gMTYgKiAxZW0sXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cblxuJGJyZWFrcG9pbnRzOiBjYWxjdWxhdGUtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzX2VtLCAkYnJlYWtwb2ludHNfcHgpICFkZWZhdWx0O1xuXG4vLyBwaG9uZTogMjMuMTI1ZW0gLSAzNzBweFxuLy8gcGhvbmVMZzogMzBlbSAtIDQ4MHB4LFxuLy8gdGFibGV0OiA0OGVtIC0gNzY4cHgsXG4vLyBsYXB0b3A6IDY0ZW0gLSAxMDI0cHgsXG4vLyBsYXB0b3BMZzogODBlbSAtIDEyODBweCxcbi8vIGRlc2t0b3A6IDkwZW0gLSAxNDQwcHgsXG4vLyB0djogMTIwZW0gLSAxOTIwcHgsXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLyogSGlkZSBIVE1MNSBVcCBhbmQgRG93biBhcnJvd3MuICovXG5pbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuICBpbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cblxuLyogSGlkZSBIVE1MNSAnWCcgaW4gc2VhcmNoIGlucHV0ICovXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIC8qIENsZWFycyB0aGUgJ1gnIGZyb20gSW50ZXJuZXQgRXhwbG9yZXIgKi9cbiAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi8gfVxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LW1zLWNsZWFyLCBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LW1zLXJldmVhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sIGlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sIGlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLyogSGlkZSBIVE1MNSBVcCBhbmQgRG93biBhcnJvd3MuICovXG5pbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuICBpbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cblxuLyogSGlkZSBIVE1MNSAnWCcgaW4gc2VhcmNoIGlucHV0ICovXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIC8qIENsZWFycyB0aGUgJ1gnIGZyb20gSW50ZXJuZXQgRXhwbG9yZXIgKi9cbiAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi8gfVxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LW1zLWNsZWFyLCBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LW1zLXJldmVhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sIGlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sIGlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiIsIi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkBmdW5jdGlvbiBkZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICAgIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRtYXA7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAnY29uZmlnL2NvbG9ycyc7XG5cbkBpbXBvcnQgJ35DcmVhdGl2ZXNob3AvY29uZmlnL3ZhcmlhYmxlcyc7XG5cbi8vJGZvbnRfZmFtaWx5LXByaW1hcnk6IFwiT3BlbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuQGZvbnQtZmFjZXtcbiAgICBmb250LWZhbWlseTpcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgICBzcmM6dXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgICBzcmM6dXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2V7XG4gICAgZm9udC1mYW1pbHk6XCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gICAgc3JjOnVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gICAgc3JjOnVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSx1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4kZm9udF9mYW1pbHktcHJpbWFyeTogJ0Z1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDInLHNhbnMtc2VyaWY7O1xuJGZvbnRfZmFtaWx5LXNlY29uZGFyeTogJ0Z1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjYnLHNhbnMtc2VyaWY7XG5cbiRjb2xvcl90ZXh0LTgwMDokY29sb3JfcHJpbWFyeTtcbiRjb2xvcl9saWdodF9ncmF5OiM3Nzc7XG4kY29sb3Jfc2Vjb25kYXJ5LTUwMDokY29sb3JfcHJpbWFyeTtcblxuJHBhZ2VfbWF4LXdpZHRoOiAxMTRyZW07XG5cbiRmb250LXNpemVfaGVhZGxpbmUtMTogMi42cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZV9oZWFkbGluZS0yOiAyLjZyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplX2hlYWRsaW5lLTM6IDEuOHJlbSAhZGVmYXVsdDtcbiRmb250LXNpemVfaGVhZGxpbmUtNDogMS43cmVtO1xuJGZvbnQtc2l6ZV9oZWFkbGluZS01OiAxLjVyZW07XG4kZm9udC1zaXplX2hlYWRsaW5lLTY6IDFyZW0gIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzX2Jhc2U6IDBweDtcblxuJGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldDogMTFyZW07IiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9mb250LWZhbWlseSc7XG5cbiRpbnB1dF9yZW1vdmUtbnVtYmVyLWFwcGVhcmFuY2U6IHRydWUgIWRlZmF1bHQ7XG4kaW5wdXRfcmVtb3ZlLXNlYXJjaC1hcHBlYXJhbmNlOiB0cnVlICFkZWZhdWx0O1xuXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogNjIuNSU7XG4gICAgYmFja2dyb3VuZDogJHBhZ2VfYmFja2dyb3VuZDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgLy8gaGlkZXMgaG9yaXpvbnRhbCBzY3JvbGxiYXIgb24gRWRnZSBhbmQgSUVcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X2ZhbWlseS1wcmltYXJ5KTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi8qIEhpZGUgSFRNTDUgVXAgYW5kIERvd24gYXJyb3dzLiAqL1xuQGlmICRpbnB1dF9yZW1vdmUtbnVtYmVyLWFwcGVhcmFuY2Uge1xuICAgIGlucHV0W3R5cGU9J251bWJlciddIHtcbiAgICAgICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBIaWRlIEhUTUw1ICdYJyBpbiBzZWFyY2ggaW5wdXQgKi9cbkBpZiAkaW5wdXRfcmVtb3ZlLXNlYXJjaC1hcHBlYXJhbmNlIHtcbiAgICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgICAgIC8qIENsZWFycyB0aGUgJ1gnIGZyb20gSW50ZXJuZXQgRXhwbG9yZXIgKi9cbiAgICAgICAgJjo6LW1zLWNsZWFyLFxuICAgICAgICAmOjotbXMtcmV2ZWFsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENsZWFycyB0aGUgJ1gnIGZyb20gQ2hyb21lICovXG4gICAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG5AbWl4aW4gZm9udC1mYW1pbHkoJGZvbnRzLi4uKSB7XG4gICAgQGlmICRmb250cyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHMsICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnQtZmFtaWx5JztcblxuQGltcG9ydCAnfkNyZWF0aXZlc2hvcC9jb25maWcvYmFzZS5zY3NzJztcblxuJGlucHV0X3JlbW92ZS1udW1iZXItYXBwZWFyYW5jZTogdHJ1ZSAhZGVmYXVsdDtcbiRpbnB1dF9yZW1vdmUtc2VhcmNoLWFwcGVhcmFuY2U6IHRydWUgIWRlZmF1bHQ7XG5cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnZV9iYWNrZ3JvdW5kO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyAvLyBoaWRlcyBob3Jpem9udGFsIHNjcm9sbGJhciBvbiBFZGdlIGFuZCBJRVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfZmFtaWx5LXByaW1hcnkpO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLyogSGlkZSBIVE1MNSBVcCBhbmQgRG93biBhcnJvd3MuICovXG5AaWYgJGlucHV0X3JlbW92ZS1udW1iZXItYXBwZWFyYW5jZSB7XG4gICAgaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgICAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEhpZGUgSFRNTDUgJ1gnIGluIHNlYXJjaCBpbnB1dCAqL1xuQGlmICRpbnB1dF9yZW1vdmUtc2VhcmNoLWFwcGVhcmFuY2Uge1xuICAgIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICAgICAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuICAgICAgICAmOjotbXMtY2xlYXIsXG4gICAgICAgICY6Oi1tcy1yZXZlYWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cbiAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ZW0pIHtcbiAgLmNzLWhpZGUtbGFwdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi8gfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtaGlkZS10YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9IH1cblxuLmNzLW5vLWRpc3BsYXkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovIH1cblxuLmNzLWFzcGVjdC1yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAuY3MtYXNwZWN0LXJhdGlvX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogTWl4aW5zIGZvciBmbGV4aWJsZSBjb250YWluZXJzIGRlY2xhcmF0aW9uLlxuICovXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG4vKipcbiAqIE5lZ2F0ZXMgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcgYW5kIHNldHMgaXQgb3duLlxuICogU29tZXRoaW1lcyB0aGlzIGhhcyB0byBiZSBkb25lIHRvIG1ha2UgYmFja2dyb3VuZCBldmVuIHRvIG90aGVyIGNvbnRhaW5lcnMnIGNvbnRlbnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBjb250YWluZXIgd3JhcHBlciB0aGF0IG1ha2VzIHN1cmUgY29udG5ldCBkb2Vzbid0IGV4dGVuZCBhYm92ZSBjZXJ0YWluIHdpZHRoIGFuZCBpcyBhbHdheXMgY2VudGVyZWQuXG4gKi9cbi5jcy1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIG1heC13aWR0aDogMTE0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czpiZWZvcmUsIC5jcy1jb250YWluZXJfX2lubmVyOmFmdGVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMzIlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMzAlOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgIHdpZHRoOiA1NiU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY1JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY3JTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbi0tc3BhY2UtdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLW5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1jb250YWluZXItLW9udG9wIHtcbiAgICB6LWluZGV4OiAzMDE7IH1cbiAgLmNzLWNvbnRhaW5lci0tdmlld3BvcnQtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuXG4uY3MtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5jcy1jb250YWluZXJfX2lubmVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBtYXgtd2lkdGg6IDExNHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lcjpiZWZvcmUsIC5jcy1jb250YWluZXJfX3Jldmlld3M6YmVmb3JlLCAuY3MtY29udGFpbmVyX19pbm5lcjphZnRlciwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgICAgLmNzLWNvbnRhaW5lcl9faW5uZXItLWZsZXg6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMiU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjclOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4tLXNwYWNlLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMDsgfSB9XG4gICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmFja2dyb3VuZC5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuICAuY3MtY29udGFpbmVyLS10b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jcy1jb250YWluZXItLXNwYWNpb3VzLFxuICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoLCAuY3MtY29udGFpbmVyLS1zdG9yZS1sb2NhdG9yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1ncmlkLXRlYXNlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY3MtY29udGFpbmVyLS1oZXJvLXRlYXNlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1ub3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jb250YWluZXItLXBkcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLXVzcHMgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtY29udGFpbmVyLS1teS1hY2NvdW50LXBhZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLW9udG9wIHtcbiAgICB6LWluZGV4OiAzMDE7IH1cbiAgLmNzLWNvbnRhaW5lci0tdmlld3BvcnQtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWRldGFpbHMtYXdfcHFfYWpheF9jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLWNhcnQtcGFnZSAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY2FydC1wYWdlIC5jcy1jb250YWluZXItLWhlYWRsaW5lIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jbXMtdGVhc2VyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgLmNzLWNvbnRhaW5lci0tZ3JpZC10ZWFzZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAuY3MtY29udGFpbmVyLS1mb290ZXItdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuYm9keSxcbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwdnc7IH1cblxuLm5vLXNjcm9sbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi5uby1zY3JvbGwtY2hpbGQge1xuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4jbWFpbmNvbnRlbnQge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4ucGFnZS13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9IH1cblxuLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDRyZW0gMCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDRyZW0gMCAwOyB9IH1cblxuLmNtcy1ob21lIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY21zLWhvbWUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ucGFnZS1sYXlvdXQtMWNvbHVtbiAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWxheW91dC0xY29sdW1uIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWxheW91dC0xY29sdW1uIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gICAgICB3aWR0aDogMzAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLnNpZGViYXItbWFpbixcbiAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLnNpZGViYXItYWRkaXRpb25hbCB7XG4gICAgd2lkdGg6IDIyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YwZjBmMDsgfSB9XG5cbmEsIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYTpob3ZlciwgYTpmb2N1cywgYTphY3RpdmUsIGE6dmlzaXRlZDpob3ZlciwgYTp2aXNpdGVkOmZvY3VzIHtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZ2lmdC1vcHRpb25zLWNhcnQtaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBheXBhbC1leHByZXNzLXJldmlldyAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5wYXlwYWwtcmV2aWV3LnZpZXcgLmNzLWNhcnQtaXRlbV9fcHJpY2Uge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5wYXlwYWwtcmV2aWV3LnZpZXcgLmNzLWNhcnQtaXRlbV9fc3VidG90YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYXlwYWwtcmV2aWV3LnZpZXcge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cblxuLnBheXBhbC1leHByZXNzLWluLWNvbnRleHQtbWluaS1jYXJ0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLnBheXBhbC1yZXZpZXctZGlzY291bnQge1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5hbWF6b24tYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgei1pbmRleDogMzAzOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMzJyZW07IH0gfVxuICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXIgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsOm50aC1jaGlsZCgyKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjZyZW0pO1xuICAgIHRvcDogMS45cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDIzLjExNWVtKSB7XG4gICAgICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGw6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC44cmVtKTsgfSB9XG4gIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICB3aWR0aDogMjVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAwLjhyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMjhyZW07IH0gfVxuICAgIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM4ODg7IH1cbiAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCxcbiAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogNDJweDtcbiAgICAgIGxlZnQ6IC0yMTBweDtcbiAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCxcbiAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgICAgbGVmdDogLTI1MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50LFxuICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICBsZWZ0OiAtMjMycHg7IH0gfVxuICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlcixcbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgIGxlZnQ6IDIxMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMjUwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogMjMycHg7IH0gfVxuICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAyMTBweDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMjUxcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMjMzcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsXG4gICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0gfVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4vLyBUT0RPOiBSZW1vdmUgYWZ0ZXIgZ2V0dGluZyByaWQgb2YgdGhlc2UgZnJvbSB0ZW1wbGF0ZXNcbi5jcy1oaWRlLWxhcHRvcCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJywgJzxsYXB0b3BMZycpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgIH1cbn1cblxuLmNzLWhpZGUtdGFibGV0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgIH1cbn1cblxuLmNzLW5vLWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbn1cblxuLmNzLWFzcGVjdC1yYXRpbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG5AbWl4aW4gY29udGFpbmVyKCRob3Jpem9udGFsLXBhZGRpbmc6ICRwYWdlX2VkZ2UtZ3V0dGVyKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpem9udGFsLXBhZGRpbmc7XG59XG5cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuQG1peGluIGNvbnRhaW5lci1uZWdhdGVkKCRob3Jpem9udGFsLXBhZGRpbmc6ICRwYWdlX2VkZ2UtZ3V0dGVyKSB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCRob3Jpem9udGFsLXBhZGRpbmcpO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGhvcml6b250YWwtcGFkZGluZztcbiAgICBtYXJnaW4tcmlnaHQ6IC0kaG9yaXpvbnRhbC1wYWRkaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG5AbWl4aW4gY29udGFpbmVyLXdyYXBwZXIoJG1heC13aWR0aDogJHBhZ2VfbWF4LXdpZHRoKSB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA1NiU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2NyU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNwYWNlLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nYWxsZXJ5O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JhY2tncm91bmQucG5nJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ub3Njcm9sbCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi0tb250b3Age1xuICAgICAgICB6LWluZGV4OiAzMDE7XG4gICAgfVxuXG4gICAgJi0tdmlld3BvcnQtd2lkdGgge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuXG5AaW1wb3J0ICd+Q3JlYXRpdmVzaG9wL2NvbXBvbmVudHMvY29udGFpbmVyL2NvbnRhaW5lci5zY3NzJztcblxuJGNvbnRhaW5lcl9iYWNrZ3JvdW5kLXRvcC1iYXI6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXItd3JhcHBlcigpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZmxleCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA1NiU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2NyU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vbWluLWhlaWdodDogMzByZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCdW5kbGUgcHJvZHVjdHMgZG8gbm90IGhhdmUgc3RpY2t5IGJ1eWJveCBhbmQgc2hvdWxkIGhhdmUgYW5vdGhlciBsYXlvdXQuXG4gICAgICAgIC8vIE9uIHRhYmxldCBnYWxsZXJ5IGNvdmVyZWQgYnV5Ym94IGFuZCBhcyBhIHJlc3VsdCBpdCB3YXMgaW1wb3NzaWJsZSB0byBjbGljayBhdCBhbnl0aGluZyB0aGVyZS5cbiAgICAgICAgLy8gQ29kZSBiZWxvdyBzaG91bGQgYmUgcmV2aWV3ZWQgZHVyaW5nIHJlZmFjdG9yaW5nIGNvbnRhaW5lcnMgYW5kIHBkcCAoUERQIDIuMClcbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zcGFjZS10b3Age1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmV2aWV3cyB7XG4gICAgICAgIEBleHRlbmQgLiN7JG5zfWNvbnRhaW5lcl9faW5uZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3doaXRlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgICZfX2NhcnQtY291cG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbnRyYXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2dhbGxlcnk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmFja2dyb3VuZC5wbmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdG9wLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250YWluZXJfYmFja2dyb3VuZC10b3AtYmFyO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgJixcbiAgICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taW1hZ2UtdGVhc2VyLXdpbmRvdy13aWR0aCxcbiAgICAmLS1zdG9yZS1sb2NhdG9yIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICYtLWdyaWQtdGVhc2VyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi0taGVyby10ZWFzZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi0tbm9zY3JvbGwge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICYtLXBkcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdXNwcyB7XG4gICAgICAgICN7JHJvb3R9LS1oZWFkbGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY3JlYXRlLWFjY291bnQtcGFnZSxcbiAgICAmLS1sb2dpbi1wYWdlLFxuICAgICYtLXN1Y2Nlc3MtcGFnZSxcbiAgICAmLS1sb2dvdXQtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbXktYWNjb3VudC1wYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW9udG9wIHtcbiAgICAgICAgei1pbmRleDogMzAxO1xuICAgIH1cblxuICAgICYtLXZpZXdwb3J0LXdpZHRoIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYtLXBhZ2UtcGRwLWRldGFpbHMtYXdfcHFfYWpheF9jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jYXJ0LXBhZ2Uge1xuICAgICAgICAjeyRyb290fS0tcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1oZWFkbGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY21zLXRlYXNlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAgICAgJi0tZ3JpZC10ZWFzZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mb290ZXItdXNwcyB7XG4gICAgICAgIC4jeyRuc31pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gaGVhZGxpbmVfaG9vaygkbGV2ZWwpIHtcbn1cblxuQG1peGluIGxpbmtfaG9vaygpIHtcbn1cblxuQG1peGluIGxpc3RfaG9vaygpIHtcbn1cblxuQG1peGluIGxpc3QtaXRlbV9ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvY29udGFpbmVyJztcbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJG5zOiAnY3MtJztcblxuYm9keSxcbmh0bWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xufVxuXG4ubm8tc2Nyb2xsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cbi5uby1zY3JvbGwtY2hpbGQge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OyAvLyBPdmVyZmxvdyBoYXMgYmVlbiBtb3ZlZCB0byBjaGlsZCBlbGVtZW50IGluIG9yZGVyIHRvIG1haW50YWluIHZpc2liaWxpdHkgb2YgaXRlbXMgaW4gdGhlIGJhY2tncm91bmRcbn1cblxuI21haW5jb250ZW50IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLnBhZ2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LW1vYmlsZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6ICRtYWluLWNvbHVtbl9wYWRkaW5nLW1vYmlsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTByZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6ICRtYWluLWNvbHVtbl9wYWRkaW5nO1xuICAgIH1cbn1cblxuLmNtcy1ob21lIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgcGFkZGluZzogJGhvbWVwYWdlLW1haW4tY29sdW1uX3BhZGRpbmctbW9iaWxlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAkaG9tZXBhZ2UtbWFpbi1jb2x1bW5fcGFkZGluZztcbiAgICB9XG59XG5cbi5wYWdlLWxheW91dC0xY29sdW1uIHtcbiAgICAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQge1xuICAgICAgICAuc2lkZWJhci1tYWluLFxuICAgICAgICAuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMi41JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3JfZ2FsbGVyeTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYSB7XG4gICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgJGNvbG9yOiAkbGluay1jb2xvcl9iYXNlLFxuICAgICAgICAkY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXJcbiAgICApO1xufVxuXG4uZ2lmdC1vcHRpb25zLWNhcnQtaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy9QYXlwYWwgbW9kdWxlXG4ucGF5cGFsLWV4cHJlc3MtcmV2aWV3IC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgfVxufVxuXG4ucGF5cGFsLXJldmlldy52aWV3IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgLiN7JG5zfWNhcnQtaXRlbV9fcHJpY2Uge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9Y2FydC1pdGVtX19zdWJ0b3RhbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIH1cbn1cblxuLnBheXBhbC1leHByZXNzLWluLWNvbnRleHQtbWluaS1jYXJ0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLnBheXBhbC1yZXZpZXctZGlzY291bnQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8vQW1hem9uIFBheSBsb2dpbiBidXR0b25cblxuLy9UaGUgaGlnaGVzdCBvZiBhbGwgYW1hem9uIHBheSBjb250YWluZXJzXG4vL1Nob3VsZCBub3QgYmUgdG9vIGxvbmdcbi8vaW4gbWluaWNhcnQsIHNhbGUgYmxvY2ssIGNoZWNrb3V0IHN1bW1hcnkgaXQgc2hvdWxkIGJlIGNlbnRlclxuLmFtYXpvbi1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMzAzO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXgtd2lkdGg6IDMycmVtO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fY2VsbCB7XG4gICAgICAgIC8vSW5mbyBzaWduIGVsZW1lbnQgLSBpcyBwbGFjZWQgYWJzb2x1dGVseSB0byBub3QgdGFrZSBwbGFjZSB3aGVuIGJ1dHRvbiBpcyBjZW50ZXJlZFxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDNyZW07XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjZyZW0pO1xuICAgICAgICAgICAgdG9wOiAxLjlyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC44cmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vVG9vbHRpcCBzdHlsZSBhbmQgcG9zaXRpb25cbiAgICAgICAgLy9BcnJvdyBwb3NpdGlvblxuICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAyNXJlbTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy9Nb3ZlIHRvb2x0aXAgZnJvbSByaWdodCB0byB0b3AgYmVjYXVzZSB0aGVyZSBpcyBubyBzcGFjZSBpbiBvdXIgc2hvcHMgb24gdGhlIHJpZ2h0XG4gICAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAmLFxuICAgICAgICAgICAgLiN7JG5zfWNhcnQtc3VtbWFyeSAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiA0MnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0yMTBweDtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTI1MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTIzMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDJyZW0pO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMTBweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIzMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMTBweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjUxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjMzcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2FydCBzdW1tYXJ5IHRvb2x0aXAgbmVlZHMgc21hbGwgYWRqdXN0bWVudHNcbiAgICAgICAgICAgIC4jeyRuc31jYXJ0LXN1bW1hcnkgJiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvaG9vayc7XG5AaW1wb3J0ICd1dGlscy9mb250LWZhbWlseSc7XG5cbkBpbXBvcnQgJ35DcmVhdGl2ZXNob3AvY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluLnNjc3MnO1xuXG4kdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXNlY29uZGFyeTtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLWZvbnQtd2VpZ2h0OiA1MDA7XG4kdHlwb2dyYXBoeV9oZWFkbGluZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kdHlwb2dyYXBoeV9oZWFkbGluZS1tYXJnaW5zOiAxcmVtIDAgMnJlbSAhZGVmYXVsdDtcblxuJHR5cG9ncmFwaHlfbGluay1jb2xvcjogJGxpbmstY29sb3JfYmFzZSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpbmstLWhvdmVyLWNvbG9yOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfbGluay10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICR0eXBvZ3JhcGh5X2xpbmstdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuXG4kdHlwb2dyYXBoeV9saXN0LW1hcmdpbjogMCAwIDIuNXJlbSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpc3QtcGFkZGluZzogMCAwIDAgNHJlbSAhZGVmYXVsdDtcblxuJHR5cG9ncmFwaHlfbGlzdC1pdGVtLW1hcmdpbjogMCAwIDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMikge1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCR0eXBvZ3JhcGh5X2hlYWRsaW5lLWZvbnQtZmFtaWx5KTtcblxuICAgIGZvbnQtc2l6ZTogJGxldmVsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICR0eXBvZ3JhcGh5X2hlYWRsaW5lLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHR5cG9ncmFwaHlfaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm07XG4gICAgbWFyZ2luOiAkdHlwb2dyYXBoeV9oZWFkbGluZS1tYXJnaW5zO1xuXG4gICAgQGluY2x1ZGUgaGVhZGxpbmVfaG9vaygkbGV2ZWwpO1xufVxuXG5AbWl4aW4gbGluayhcbiAgICAkY29sb3I6ICR0eXBvZ3JhcGh5X2xpbmstY29sb3IsXG4gICAgJGNvbG9yLWhvdmVyOiAkdHlwb2dyYXBoeV9saW5rLS1ob3Zlci1jb2xvcixcbiAgICAkZGVjb3JhdGlvbjogJHR5cG9ncmFwaHlfbGluay10ZXh0LWRlY29yYXRpb24sXG4gICAgJGRlY29yYXRpb24taG92ZXI6ICR0eXBvZ3JhcGh5X2xpbmstLWhvdmVyLXRleHQtZGVjb3JhdGlvblxuKSB7XG4gICAgJixcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOnZpc2l0ZWQ6aG92ZXIsXG4gICAgJjp2aXNpdGVkOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5rX2hvb2soKTtcbn1cblxuQG1peGluIGxpc3QoKSB7XG4gICAgbWFyZ2luOiAkdHlwb2dyYXBoeV9saXN0LW1hcmdpbjtcbiAgICBwYWRkaW5nOiAkdHlwb2dyYXBoeV9saXN0LXBhZGRpbmc7XG5cbiAgICBAaW5jbHVkZSBsaXN0X2hvb2soKTtcbn1cblxuQG1peGluIGxpc3QtaXRlbSgpIHtcbiAgICBtYXJnaW46ICR0eXBvZ3JhcGh5X2xpc3QtaXRlbS1tYXJnaW47XG5cbiAgICBAaW5jbHVkZSBsaXN0LWl0ZW1faG9vaygpO1xufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uY3MtYXV0aG9yaXphdGlvbi1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogMC45cmVtO1xuICBwYWRkaW5nOiAwIDAgMCAwLjNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDEuM3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjdyZW07IH0gfVxuICAuY3MtYXV0aG9yaXphdGlvbi1saW5rOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICNmZmY7IH1cbiAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluaywgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpob3ZlciwgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpmb2N1cywgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazphY3RpdmUsIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbms6dmlzaXRlZDpob3ZlciwgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpob3ZlciAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzg4ODsgfVxuICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHtcbiAgICB3aWR0aDogMS44cmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzg4ODsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGF1dGhvcml6YXRpb24tbGlua19pdGVtLWJvcmRlcjogMC4ycmVtIHNvbGlkICRjb2xvcl9ib3JkZXItMTAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19ob3Zlci1kZWNvcmF0aW9uOiAkYXV0aG9yaXphdGlvbi1saW5rX2RlY29yYXRpb24gIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2ljb24tY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvci1ob3ZlcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4uI3skbnN9YXV0aG9yaXphdGlvbi1saW5rIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMCAwLjNyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuM3JlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuN3JlbTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItbGVmdDogJGF1dGhvcml6YXRpb24tbGlua19pdGVtLWJvcmRlcjtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICRjb2xvcjogJGF1dGhvcml6YXRpb24tbGlua19jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGF1dGhvcml6YXRpb24tbGlua19jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICRkZWNvcmF0aW9uOiAkYXV0aG9yaXphdGlvbi1saW5rX2RlY29yYXRpb24sXG4gICAgICAgICAgICAkZGVjb3JhdGlvbi1ob3ZlcjogJGF1dGhvcml6YXRpb24tbGlua19ob3Zlci1kZWNvcmF0aW9uXG4gICAgICAgICk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGF1dGhvcml6YXRpb24tbGlua19pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWFkZHRvY2FydCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cywgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246YmVmb3JlLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICByaWdodDogLTFweDsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDBweCAwcHggMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphZnRlciB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBsaW5lYXI7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLCAuY3MtYWRkdG9jYXJ0X19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmUgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmUgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uICoge1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmUgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmUgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uICoge1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmNzLWFkZHRvY2FydF9fY29uZmlndXJlLWljb24sIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uLCAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAyLjJyZW07XG4gICAgaGVpZ2h0OiAyLjJyZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICByaWdodDogMC44ZW07XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLCB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLmNzLWFkZHRvY2FydF9fbG9hZGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLCB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbC0tMSB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbC0tMiB7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNXMgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsLS0zIHtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMWVtO1xuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDIuNWVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDVzIGN1YmljLWJlemllcigwLjAxLCAwLjY1LCAwLjM4LCAxKTtcbiAgICBiYWNrZ3JvdW5kOiAjMzFhNDNhOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tbm8tdHJhbnNpdGlvbnMgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWZhaWwgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcge1xuICAgICAgYmFja2dyb3VuZDogI2NjMWMxMDsgfVxuICAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgaGVpZ2h0OiAxLjcyNWVtO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7IH1cbiAgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHRyYW5zbGF0ZVgoLTJlbSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuNXJlbTsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSwgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXVuc3RpY2sge1xuICAgICAgbWF4LXdpZHRoOiAxMTRyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgei1pbmRleDogNDAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS1zdGlja3kgLnVpLWRpYWxvZywgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXVuc3RpY2sgLnVpLWRpYWxvZyB7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS1zdGlja3kgLmJsb2NrLW1pbmljYXJ0OmFmdGVyLCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAuYmxvY2stbWluaWNhcnQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogMy4ycmVtICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1saW5rLFxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMi41cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAxcHggM3B4IDQuNXJlbSAwIHJnYmEoMzAsIDQ4LCA2NywgMC4zNCk7XG4gICAgYW5pbWF0aW9uOiBtaW5pY2FydC1pbiAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbmsge1xuICAgIGFuaW1hdGlvbjogbWluaWNhcnQtb3V0IDAuNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMiwgMC44OSwgMC40NSk7IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogNjAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKSwgbGVmdCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1hbmltYXRpbmcge1xuICAgICAgYW5pbWF0aW9uOiBtb3ZlLXF0eS1iYWRnZSAxLjJzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMC41cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tYW5pbWF0aW5nIHtcbiAgICAgICAgICB0b3A6IDEuM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tYW5pbWF0aW5nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1LjNyZW07IH0gfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLWFuaW1hdGluZy5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1taW5pY2FydC1zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMS44cmVtOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXIgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWxvYWRpbmcgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsLCAuY3MtYWRkdG9jYXJ0LS1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJlbSwgMCwgMCk7IH1cbiAgLmNzLWFkZHRvY2FydC0tbG9hZGluZyAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgdHJhbnNsYXRlWCgtMS4yNWVtKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWxvYWRpbmcgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsIHtcbiAgICAgIGFuaW1hdGlvbjogYmFsbC1pbiAxcyBpbmZpbml0ZTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgICAuY3MtYWRkdG9jYXJ0LS1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUuM3JlbSwgMCwgMCk7IH1cbiAgLmNzLWFkZHRvY2FydC0tc3VjY2VzcyAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWFkZHRvY2FydC0tc3VjY2VzcyAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7IH1cbiAgLmNzLWFkZHRvY2FydC0tZmFpbCAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWFkZHRvY2FydC0tZmFpbCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7IH1cbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsLFxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24taWNvbiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC41czsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnLCAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZzphZnRlciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7IH1cbiAgICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZzphZnRlciB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGxpbmVhciwgdHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuODYsIDAuMDEsIDAuODMsIDAuNTEpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uLFxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24ge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cblxuQGtleWZyYW1lcyBiYWxsLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1pbmljYXJ0LWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1pbmljYXJ0LW91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBtb3ZlLXF0eS1iYWRnZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG4gIC5jcy1hZGR0b2NhcnQgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4iLCIvKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG5cbkBmdW5jdGlvbiBnZXQtdmFsdWUtZnJvbS1saXN0KCR2YXJpYWJsZSwgJHNpZGUpIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHZhcmlhYmxlKTtcblxuICAgIEBpZiAoJGxlbmd0aCA9PSAxKSB7XG4gICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMSk7XG4gICAgfSBAZWxzZSBpZiAoJGxlbmd0aCA9PSAyKSB7XG4gICAgICAgIEBpZiAoJHNpZGUgPT0gJ3VwJykgT1IgKCRzaWRlID09ICdkb3duJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ2xlZnQnKSBPUiAoJHNpZGUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAyKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRsZW5ndGggPT0gMykge1xuICAgICAgICBAaWYgKCRzaWRlID09ICdsZWZ0JykgT1IgKCRzaWRlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMik7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICd1cCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMSk7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdkb3duJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAzKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRsZW5ndGggPT0gNCkge1xuICAgICAgICBAaWYgKCRzaWRlID09ICd1cCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMSk7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMik7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdkb3duJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAzKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBidXR0b24taG9vaygkdHlwZSwgJGljb25fcG9zKSB7XG59XG5cbkBtaXhpbiBidXR0b25fc3Bhbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpIHtcbn1cblxuQG1peGluIGJ1dHRvbl9pY29uLWhvb2soJHR5cGUsICRpY29uX3Bvcykge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4iLCJcbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJGFkZHRvY2FydF9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGU7XG4kYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGg6IDIuMnJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLWljb24taGVpZ2h0OiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXdpZHRoICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24taWNvbi1lZGdlLWd1dHRlcjogMC44ZW0gIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfYnV0dG9uLXNrZXdlZC1iYWNrZ3JvdW5kLXdpZHRoOiA1LjFyZW0gIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1wYWRkaW5nLWxlZnQ6IDFyZW0gIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1wYWRkaW5nLXJpZ2h0OiA0LjVyZW0gIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU6IDEwcHggIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWJnLXByaW1hcnk6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWJnLXNlY29uZGFyeTogJGNvbG9yX3N1Y2Nlc3MtNjAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWZpbGw6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuXG4kYWRkdG9jYXJ0X2FqYXgtZmFpbC1iZy1wcmltYXJ5OiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LWZhaWwtYmctc2Vjb25kYXJ5OiAkY29sb3JfZXJyb3ItNjAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LWZhaWwtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1mYWlsLWZpbGw6ICRhZGR0b2NhcnRfYWpheC1mYWlsLWNvbG9yICFkZWZhdWx0O1xuXG4uI3skbnN9YWRkdG9jYXJ0IHtcbiAgICAkcm9vdDogJjtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICAvLyBiZWNhdXNlIGJ1dHRvbiBjYW4ndCBoYXZlIG92ZXJmbG93LCB3ZSBuZWVkIHRvIGFkZCBpdCBvbiBidXR0b24gd3JhcHBlclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpZiAoJGJ1dHRvbl9ib3JkZXItcmFkaXVzID4gMCkge1xuICAgICAgICAgICAgQHN1cHBvcnRzIChjbGlwLXBhdGg6IGluc2V0KDAgMCAwIDAgcm91bmQgJGJ1dHRvbl9ib3JkZXItcmFkaXVzKSkge1xuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMCByb3VuZCAkYnV0dG9uX2JvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRhZGR0b2NhcnRfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb25cbiAgICAgICAgKTtcblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbiB7XG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fZmFpbC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhZGR0b2NhcnRfYWpheC1mYWlsLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fZmFpbC1pY29uIHtcbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGFkZHRvY2FydF9hamF4LWZhaWwtZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwsXG4gICAgJl9fc3VjY2Vzcy1sYWJlbCxcbiAgICAmX19mYWlsLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGFkZHRvY2FydF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvblxuICAgICAgICApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICZfX2NvbmZpZ3VyZS1pY29uLFxuICAgICZfX2J1dHRvbi1pY29uLFxuICAgICZfX3N1Y2Nlc3MtaWNvbixcbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkYWRkdG9jYXJ0X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uXG4gICAgICAgICk7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgd2lkdGg6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGFkZHRvY2FydF9idXR0b24taWNvbi1oZWlnaHQ7XG5cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgQGlmICgkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uID09ICdyaWdodCcpIG9yICgkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgI3skYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9ufTogJGFkZHRvY2FydF9idXR0b24taWNvbi1lZGdlLWd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgfVxuXG4gICAgJl9fZmFpbC1pY29uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwsXG4gICAgJl9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgJl9fbG9hZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgd2lkdGg6ICRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1zaXplICogNDtcbiAgICAgICAgaGVpZ2h0OiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXG4gICAgICAgICYtYmFsbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgICYtLTEge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLTIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE1cyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS0zIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmVlZGJhY2stYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xZW07XG4gICAgICAgIHRvcDogLSN7JGJ1dHRvbl9ib3JkZXItc2l6ZX07XG4gICAgICAgIGJvdHRvbTogLSN7JGJ1dHRvbl9ib3JkZXItc2l6ZX07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyLjVlbSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4wMSwgMC42NSwgMC4zOCwgMSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWJnLXNlY29uZGFyeTtcblxuICAgICAgICAjeyRyb290fS0tbm8tdHJhbnNpdGlvbnMgJiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWZhaWwgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWRkdG9jYXJ0X2FqYXgtZmFpbC1iZy1zZWNvbmRhcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWNjZXNzLWxhYmVsLFxuICAgICZfX3N1Y2Nlc3MtaWNvbixcbiAgICAmX19mYWlsLWxhYmVsLFxuICAgICZfX2ZhaWwtaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJl9fc3VjY2Vzcy1pY29uLFxuICAgICZfX2ZhaWwtaWNvbiB7XG4gICAgICAgIGhlaWdodDogMS43MjVlbTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgICB9XG5cbiAgICAmX19zdWNjZXNzLWxhYmVsLFxuICAgICZfX2ZhaWwtbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgdHJhbnNsYXRlWCgtMmVtKTsgLy8gY2FsYygpIGRvZXNuJ3Qgd29yayBpbiBJRSBzbyBpIGhhZCB0byBkdXBsaWNhdGUgdHJhbnNsYXRlWCgpIHRyYW5zZm9ybSB0byBhZGp1c3QgWCBwb3NpdGlvblxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAjeyRhZGR0b2NhcnRfYnV0dG9uLXBhZGRpbmctcmlnaHQgLVxuICAgICAgICAgICAgJGFkZHRvY2FydF9idXR0b24tcGFkZGluZy1sZWZ0fTtcbiAgICB9XG5cbiAgICAmX19taW5pY2FydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi0tc3RpY2t5LFxuICAgICAgICAmLS11bnN0aWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICB6LWluZGV4OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgLnVpLWRpYWxvZyB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDMuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21pbmljYXJ0LWxpbmsge1xuICAgICAgICAjeyRyb290fV9fbWluaWNhcnQtLXN0aWNreSAmLFxuICAgICAgICAjeyRyb290fV9fbWluaWNhcnQtLXVuc3RpY2sgJiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAzcHggNC41cmVtIDAgcmdiYSgzMCwgNDgsIDY3LCAwLjM0KTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbWluaWNhcnQtaW4gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX21pbmljYXJ0LS11bnN0aWNrICYge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBtaW5pY2FydC1vdXQgMC41cyBjdWJpYy1iZXppZXIoMC41NSwgMC4yLCAwLjg5LCAwLjQ1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyIHtcbiAgICAgICAgJGJhZGdlLXdyYXBwZXI6ICY7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB6LWluZGV4OiA2MDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKSxcbiAgICAgICAgICAgIGxlZnQgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICYtLWFuaW1hdGluZyB7XG4gICAgICAgICAgICBhbmltYXRpb246IG1vdmUtcXR5LWJhZGdlIDEuMnMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUuM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiN7JGJhZGdlLXdyYXBwZXJ9LS1taW5pY2FydC1zdGlja3kge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICB0b3A6IDEuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC1xdHktYmFkZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sb2FkaW5nLFxuICAgICYtLWRvbmUge1xuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJlbSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sb2FkaW5nIHtcbiAgICAgICAgI3skcm9vdH1fX2xvYWRpbmcge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgdHJhbnNsYXRlWCgtMS4yNWVtKTsgLy8gY2FsYygpIGRvZXNuJ3Qgd29yayBpbiBJRSBzbyBpIGhhZCB0byBkdXBsaWNhdGUgdHJhbnNsYXRlWCgpIHRyYW5zZm9ybSB0byBhZGp1c3QgWCBwb3NpdGlvblxuXG4gICAgICAgICAgICAmLWJhbGwge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogYmFsbC1pbiAxcyBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRvbmUge1xuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mZWVkYmFjay1iZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKFxuICAgICAgICAgICAgICAgICAgICAtI3skYWRkdG9jYXJ0X2J1dHRvbi1za2V3ZWQtYmFja2dyb3VuZC13aWR0aCArIDAuMn0sXG4gICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3VjY2VzcyB7XG4gICAgICAgICN7JHJvb3R9X19zdWNjZXNzLWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zdWNjZXNzLWxhYmVsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZmFpbCB7XG4gICAgICAgICN7JHJvb3R9X19mYWlsLWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mYWlsLWxhYmVsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYW5pbWF0aW9uLWRvbmUge1xuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWxhYmVsLFxuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mZWVkYmFjay1iZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuODYsIDAuMDEsIDAuODMsIDAuNTEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtbGFiZWwsXG4gICAgICAgICN7JHJvb3R9X19mYWlsLWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGxpbmVhcixcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbixcbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBAa2V5ZnJhbWVzIGJhbGwtaW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbWluaWNhcnQtaW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIG1pbmljYXJ0LW91dCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbW92ZS1xdHktYmFkZ2Uge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDE1JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gICAgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICd1dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL2FuaW1hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9ob29rJztcblxuLy8gRGVmaW5lIGRlZmF1bHQgdHlwZSBmb3IgYnV0dG9ucy4gWW91IGNhbiBvdmVycmlkZSBpdCBpbmRpdmlkdWFsbHkgcGVyIGJ1dHRvbiBpbiBlYWNoIGNvbXBvbmVudFxuLy8gVmFyaWFudHM6IHByaW1hcnkgfCBzZWNvbmRhcnkgfCBsaW5rIHwgc3VjY2VzcyB8IGVycm9yXG4kYnV0dG9uX2RlZmF1bHQtdHlwZTogJ3ByaW1hcnknICFkZWZhdWx0O1xuXG4vLyBEZWZpbmUgZGVmYXVsdCBwb3NpdGlvbiBmb3IgaWNvbnMgaW4gYnV0dG9uLiBZb3UgY2FuIG92ZXJyaWRlIGl0IGluZGl2aWR1YWxseSBwZXIgYnV0dG9uIGluIGVhY2ggY29tcG9uZW50XG4vLyBWYXJpYW50czogbGVmdCB8IHJpZ2h0IHwgbm8taWNvbiB8IG9ubHktaWNvblxuJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zOiAncmlnaHQnICFkZWZhdWx0O1xuXG4vLyBHZW5lcmFsIHN0eWxlcyBmb3IgYnV0dG9uc1xuJGJ1dHRvbl9mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRidXR0b25fZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRidXR0b25fYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRidXR0b25fcGFkZGluZzogMC43NWVtIDFlbSAhZGVmYXVsdDtcbiRidXR0b25fcGFkZGluZy13aGVuLWljb246IDNlbSAhZGVmYXVsdDtcbiRidXR0b25fbGluZS1oZWlnaHQ6IDEuMjc1ZW0gIWRlZmF1bHQ7XG4kYnV0dG9uX2JvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kYnV0dG9uX2FuaW1hdGlvbi10aW1lOiAwLjVzICFkZWZhdWx0O1xuJGJ1dHRvbl9hbmltYXRpb24tYmVmb3JlLXdpZHRoOiAwO1xuJGJ1dHRvbl9hbmltYXRpb24tYWZ0ZXItd2lkdGg6IDA7XG4kYnV0dG9uX3RleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGJ1dHRvbl90ZXh0LWxldHRlci1zcGFjaW5nOiBub3JtYWwgIWRlZmF1bHQ7XG4kYnV0dG9uX3RleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgcHJpbWFyeWAgYnV0dG9uIHR5cGVcbiRidXR0b25fcHJpbWFyeS1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9saWdodF9ncmF5O1xuJGJ1dHRvbl9wcmltYXJ5LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktZW5hYmxlLWFuaW1hdGlvbjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgc2Vjb25kYXJ5YCBidXR0b24gdHlwZVxuJGJ1dHRvbl9zZWNvbmRhcnktYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gU3R5bGUgZm9yIGBsaW5rYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9saW5rLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2xpbmstLWhvdmVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nOiAycmVtICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBzdWNjZXNzYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9zdWNjZXNzLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtZW5hYmxlLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYGVycm9yYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9lcnJvci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfZXJyb3ItNjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci0taG92ZXItZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGVmaW5lcyBob3cgbXVjaCBidXR0b24gaWNvbiBzaG91bGQgYmUgcHVsbGVkIHZlcnRpY2FsbHkgdG8gY2VudGVyIGl0LlxuLy8gU2hvdWxkIGJlIGRlZmluZWQgaW4gZW0gdG8gbWFrZSBpdCByZWxhdGl2ZSB0byBidXR0b24ncyBmb250IHNpemUuXG4kYnV0dG9uX3NwYW4tZm9udC1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIERlZmluZXMgaG93IG11Y2ggYnV0dG9uIGljb24gc2hvdWxkIGJlIHB1bGxlZCB2ZXJ0aWNhbGx5IHRvIGNlbnRlciBpdCBvbiBpY29uIGJ1dHRvbi5cbi8vIFNob3VsZCBiZSBkZWZpbmVkIGluIGVtIHRvIG1ha2UgaXQgcmVsYXRpdmUgdG8gYnV0dG9uJ3MgZm9udCBzaXplLlxuJGJ1dHRvbl9pY29uLW9mZnNldDogMC4xZW0gIWRlZmF1bHQ7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWNhbGMtbm8tdW5zcGFjZWQtb3BlcmF0b3JcblxuQG1peGluIGJ1dHRvbihcbiAgICAkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3Ncbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRidXR0b25fZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uX2ZvbnQtd2VpZ2h0O1xuICAgIHRleHQtYWxpZ246ICRidXR0b25fdGV4dC1hbGlnbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b25fbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYnV0dG9uX3RleHQtdHJhbnNmb3JtO1xuXG4gICAgQGlmICgkdHlwZSAhPSAnbGluaycpIHtcbiAgICAgICAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBib3JkZXItY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSwgZmlsbCAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLFxuICAgICAgICAgICAgY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdwcmltYXJ5Jykge1xuICAgICAgICBAaWYgKCRidXR0b25fcHJpbWFyeS1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX3ByaW1hcnktYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykgb3IgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3NlY29uZGFyeScpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX3NlY29uZGFyeS1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fc2Vjb25kYXJ5LWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykgb3IgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWUsIGZpbGwgJGJ1dHRvbl9hbmltYXRpb24tdGltZTtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICAgICAgZmlsbCAkYnV0dG9uX2FuaW1hdGlvbi10aW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX3N1Y2Nlc3MtZW5hYmxlLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2FuaW1hdGlvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9zdWNjZXNzLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGljb25fcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZXJyb3InKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9lcnJvci1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9lcnJvci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQ6ICRidXR0b25fZXJyb3ItLWhvdmVyLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIEBpZiAoJHR5cGUgIT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uX2JvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fcHJpbWFyeS1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3ByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9wcmltYXJ5LWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdzZWNvbmRhcnknKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc2Vjb25kYXJ5LWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3NlY29uZGFyeS1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2xpbmstY29sb3I7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zdWNjZXNzLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3N1Y2Nlc3MtZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX2Vycm9yLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9lcnJvci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2Vycm9yLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBAaWYgKCR0eXBlICE9ICdsaW5rJykge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fcHJpbWFyeS0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fcHJpbWFyeS0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ3NlY29uZGFyeScpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fZXJyb3ItLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fZXJyb3ItLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG5cbkBtaXhpbiBidXR0b25fc3BhbihcbiAgICAkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3Ncbikge1xuICAgIG1hcmdpbi10b3A6ICRidXR0b25fc3Bhbi1mb250LW9mZnNldDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uX2ZvbnQtd2VpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b25fbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRidXR0b25fdGV4dC1sZXR0ZXItc3BhY2luZztcblxuICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgdW5pdCgkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uKSA9PVxuICAgICAgICAgICAgICAgICAgICB1bml0KFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRidXR0b25fcGFkZGluZy13aGVuLWljb24gK1xuICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAjeyRidXR0b25fcGFkZGluZy13aGVuLWljb259ICtcbiAgICAgICAgICAgICAgICAgICAgICAgICN7Z2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbl9saW5rLWljb24tcGFkZGluZztcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgIHVuaXQoJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbikgPT1cbiAgICAgICAgICAgICAgICAgICAgdW5pdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRidXR0b25fcGFkZGluZy13aGVuLWljb24gK1xuICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICN7JGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbn0gK1xuICAgICAgICAgICAgICAgICAgICAgICAgI3tnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRpY29uX3BvcyA9PSAnb25seS1pY29uJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG5cbkBtaXhpbiBidXR0b25faWNvbihcbiAgICAkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3Ncbikge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6ICRidXR0b25fZm9udC1zaXplO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykgb3IgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICB9XG5cbiAgICBAaWYgKCRpY29uX3BvcyA9PSAnb25seS1pY29uJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogJGJ1dHRvbl9pY29uLW9mZnNldDtcblxuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmcgLyAyO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nIC8gMjtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSB7XG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG5cbiIsIi8vIEluIHRoaXMgbWl4aW4geW91IGNhbiBkZWZpbmUgeW91ciBjdXN0b20gYW5pbWF0aW9uIGZvciBidXR0b25zXG4vLyBZb3UgY2FuIGNoZWNrIGV4YW1wbGVzIG9mIGFuaW1hdGlvbnMgaW4gaHR0cDovL2lhbmx1bm4uZ2l0aHViLmlvL0hvdmVyLyBsaWJyYXJ5XG5cbkBtaXhpbiBidXR0b25fYW5pbWF0aW9uKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kLFxuICAgICRjb2xvcl9lbmQ6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvc1xuKSB7XG4gICAgQGlmICgkdHlwZSA9PSAncHJpbWFyeScpIGFuZFxuICAgICAgICAoKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0JykpXG4gICAge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0jeyRidXR0b25fYm9yZGVyLXNpemV9O1xuICAgICAgICAgICAgYm90dG9tOiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgbGVmdDogLSN7JGJ1dHRvbl9ib3JkZXItc2l6ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1dHRvbl9hbmltYXRpb24tYmVmb3JlLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkYnV0dG9uX2JvcmRlci1yYWRpdXMgJGJ1dHRvbl9ib3JkZXItcmFkaXVzIDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICAwZGVnLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydCAwJSxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQgMTAwJVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIDBkZWcsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZCAwJSxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kIDg1JSxcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAxMDAlLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDEwMCVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykgb3IgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV0dG9uX2FuaW1hdGlvbi1hZnRlci13aWR0aDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9lbmQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBsaW5lYXI7XG4gICAgICAgICAgICB6LWluZGV4OiAtMjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b25fYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uX2JvcmRlci1zaXplID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3syICogJGJ1dHRvbl9ib3JkZXItc2l6ZX0pO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG4uY3MtYXV0b2NvbXBsZXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gIHotaW5kZXg6IDIwMDtcbiAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIGZvbnQtc2l6ZTogMS4yOXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkOmhvdmVyLCAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC5zZWxlY3RlZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbTpob3ZlciwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS5zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQ6bGFzdC1jaGlsZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1pbWFnZS1jb250YWluZXIsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0taW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1pbWFnZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1pbWFnZSB7XG4gICAgICB3aWR0aDogNC41cmVtO1xuICAgICAgaGVpZ2h0OiA0LjVyZW07IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1kZXRhaWxzLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMge1xuICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMgLmYtZml4LCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMgLmYtZml4IHtcbiAgICAgICAgaGVpZ2h0OiA1LjhyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1kZXRhaWxzIGltZywgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1kZXRhaWxzIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtYnJhbmQsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tYnJhbmQge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLW5hbWUsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuMjlyZW07XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1wcmljZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1wcmljZSB7XG4gICAgICBtYXJnaW46IDAuM3JlbSAwIDA7IH1cbiAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94ID4gLnByaWNlIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgPiAucHJpY2Uge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSA+IC5wcmljZSB7XG4gICAgICBjb2xvcjogI2U0MWYxMjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgcGFkZGluZzogMCAwLjdyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4taGVpZ2h0OiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLXBvcHVsYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3Yjg0MTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0ICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLXBvcHVsYXIgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzN2I4NDE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCArIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjMuMTI1ZW0pIHtcbiAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLmF1dG9jb21wbGV0ZS1saXN0IHtcbiAgbWFyZ2luOiAtMXB4IDAgMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdCAuYW1vdW50IHtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDEuMjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQ6bm90KDplbXB0eSk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG4gICAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQ6bm90KDplbXB0eSk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuXG4uYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGUge1xuICBwYWRkaW5nOiAxLjJyZW0gM3JlbSAxcmVtIDFyZW07XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuMjlyZW07XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbjogMDsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGU6aG92ZXIsIC5hdXRvY29tcGxldGUtbGlzdC10aXRsZS5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0LXRpdGxlOm5vdCg6ZW1wdHkpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiB0cmFuc3BhcmVudDsgfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBiYWRnZV9ob29rKCR0eXBlKSB7XG59XG5cbkBtaXhpbiBiYWRnZV90eXBlLWhvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIGJhZGdlX3NwYW4taG9vaygkdHlwZSkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG5cbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yOiAkcHJpY2VfY29sb3IgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvcjogJHByaWNlX3NwZWNpYWwtY29sb3IgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4kcHJpY2UtYm94X29sZC1wcmljZS1jb2xvcjogJHByaWNlX29sZC1jb2xvciAhZGVmYXVsdDtcbiRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfbGFiZWwtY29sb3I6ICRwcmljZV9jb2xvciAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtZm9udC1zaXplOiAxLjVyZW07XG4kcHJpY2UtYm94X2xhYmVsLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtZGlzcGxheS1jb2xvbjogZmFsc2U7XG4kcHJpY2UtYm94X2xhYmVsLW1hcmdpbjogMC4zcmVtICFkZWZhdWx0O1xuXG4kcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzOiAxcmVtICFkZWZhdWx0O1xuXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcmljZS1ib3gvdmFyaWFibGVzJztcblxuJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQ6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2xpc3QtYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKCRjb2xvcl90ZXh0LTkwMCwgMC4xNykgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfdGl0bGUtcGFkZGluZzogMS4ycmVtIDNyZW0gMXJlbSAxcmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtZm9udC1zaXplOiAxLjI5cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW0taGVpZ2h0OiA1LjhyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tcGFkZGluZzogMC41cmVtIDFyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbWFyZ2luOiAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQ6ICRhdXRvY29tcGxldGVfbGlzdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtd2lkdGg6IDQuNXJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtaGVpZ2h0OiA0LjVyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplOiAxLjI5cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbmFtZS1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJGF1dG9jb21wbGV0ZV9pdGVtLXByaWNlLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tcHJpY2UtZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1xdWFudGl0eS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW1fZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS10ZXh0LWRlY29yYXRpb246ICRwcmljZS1ib3hfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4uI3skbnN9YXV0b2NvbXBsZXRlIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGF1dG9jb21wbGV0ZV9saXN0LWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJGF1dG9jb21wbGV0ZV9saXN0LWJveC1zaGFkb3c7XG4gICAgei1pbmRleDogMjAwO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAnPCN7JGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMtYnJlYWtwb2ludH0nXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF1dG9jb21wbGV0ZS1saXN0IGRkLFxuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogJGF1dG9jb21wbGV0ZV9pdGVtLXBhZGRpbmc7XG4gICAgICAgIG1hcmdpbjogJGF1dG9jb21wbGV0ZV9pdGVtLW1hcmdpbjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGF1dG9jb21wbGV0ZV9pdGVtLWJvcmRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtc2l6ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWRldGFpbHMge1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5mLWZpeCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0taGVpZ2h0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtYnJhbmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLW5hbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuM3JlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICA+IC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLW5vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLW5vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICA+IC5wcmljZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgPiAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRhdXRvY29tcGxldGVfaXRlbV9kaXNwbGF5LW9sZC1wcmljZS1maXJzdCkge1xuICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuXG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2UoKTtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wb3B1bGFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3BvcHVsYXInKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3BvcHVsYXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZnJlZS1zaGlwcGluZycpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZnJlZS1zaGlwcGluZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdXRvY29tcGxldGUtbGlzdCB7XG4gICAgbWFyZ2luOiAtMXB4IDAgMXJlbTtcbiAgICBib3JkZXItdG9wOiAkYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1xdWFudGl0eS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGUge1xuICAgIHBhZGRpbmc6ICRhdXRvY29tcGxldGVfdGl0bGUtcGFkZGluZztcbiAgICBib3JkZXItYm90dG9tOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWJvcmRlcjtcbiAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV90aXRsZS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXNpemU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtYXJnaW46ICRhdXRvY29tcGxldGVfdGl0bGUtbWFyZ2luO1xuXG4gICAgJjpob3ZlcixcbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvaG9vayc7XG5cbiRiYWRnZV9mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRiYWRnZV9mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGJhZGdlX2hlaWdodDogMmVtICFkZWZhdWx0O1xuJGJhZGdlX3BhZGRpbmc6IDAgMC43cmVtICFkZWZhdWx0O1xuJGJhZGdlX2JvcmRlcjogMCAhZGVmYXVsdDtcbiRiYWRnZV9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGJhZGdlX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWRlZmF1bHQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJGJhZGdlLS1uZXctYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLW5ldy1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLWRpc2NvdW50LWJhY2tncm91bmQ6IGdyZWVuO1xuJGJhZGdlLS1kaXNjb3VudC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLWZyZWUtYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJhZGdlLS1mcmVlLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZnJlZS1zaGlwcGluZy1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWZyZWUtc2hpcHBpbmctY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJGJhZGdlLS1wb3B1bGFyLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tcG9wdWxhci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXJlY2VudGx5LWJvdWdodC1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLXJlY2VudGx5LWJvdWdodC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLWRhaWx5ZGVhbC1iYWNrZ3JvdW5kOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGJhZGdlLS1kYWlseWRlYWwtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJGJhZGdlLS10b3AtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJhZGdlLS10b3AtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuQG1peGluIGJhZGdlKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLS1kZWZhdWx0LWNvbG9yO1xuICAgIGJvcmRlcjogJGJhZGdlX2JvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYmFkZ2VfYm9yZGVyLXJhZGl1cztcbiAgICBwYWRkaW5nOiAkYmFkZ2VfcGFkZGluZztcbiAgICBmb250LXNpemU6ICRiYWRnZV9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYWRnZV9mb250LXdlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkYmFkZ2VfaGVpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFkZ2VfdGV4dC10cmFuc2Zvcm07XG5cbiAgICBAaW5jbHVkZSBiYWRnZV9ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIGJhZGdlX3R5cGUoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIEBpZiAoJHR5cGUgPT0gJ25ldycpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1uZXctYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tbmV3LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2ZyZWUnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZnJlZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1mcmVlLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2ZyZWUtc2hpcHBpbmcnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZnJlZS1zaGlwcGluZy1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3BvcHVsYXInKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tcG9wdWxhci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1wb3B1bGFyLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Rpc2NvdW50Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRpc2NvdW50LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWRpc2NvdW50LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3JlY2VudGx5LWJvdWdodCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1yZWNlbnRseS1ib3VnaHQtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2RhaWx5ZGVhbCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1kYWlseWRlYWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2RhaWx5ZGVhbC1wZHAnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWRhaWx5ZGVhbC1jb2xvcjtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICd0b3AnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tdG9wLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLXRvcC1jb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYWRnZV90eXBlLWhvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gYmFkZ2Vfc3BhbigkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYWRnZV9zcGFuLWhvb2soJHR5cGUpO1xufVxuXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi5jcy1icmVhZGNydW1icyB7XG4gIHBhZGRpbmctdG9wOiAxLjNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1icmVhZGNydW1ic19faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxLjk1ZW0gMCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5jcy1icmVhZGNydW1ic19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzc3NztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5jcy1icmVhZGNydW1ic19faXRlbTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDAuOGVtO1xuICAgICAgY29udGVudDogXCLigYRcIjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtYnJlYWRjcnVtYnNfX2xpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19zZXBhcmF0b3ItaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwLjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDAuOGVtO1xuICAgIGhlaWdodDogMC44ZW07XG4gICAgZmlsbDogIzJkM2U1MDsgfVxuXG4uY3MtY29udGFpbmVyLS1icmVhZGNydW1icyB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfSB9XG4iLCIvKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cblxuQG1peGluIHJlc2V0LWxpc3Qtc3R5bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRicmVhZGNydW1ic19zZXBhcmF0b3ItY3VzdG9tLXNob3c6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fVGhlbWUsXG4gICAgYnJlYWRjcnVtYnMsXG4gICAgY3VzdG9tX3NlcGFyYXRvcixcbiAgICBkaXNwbGF5XG4pICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuJGJyZWFkY3J1bWJzX2JhY2tncm91bmQ6ICRicmVhZGNydW1ic19iYWNrZ3JvdW5kLWNvbG9yO1xuXG4kYnJlYWRjcnVtYnNfaXRlbS1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19pdGVtLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiRicmVhZGNydW1ic19pdGVtLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfaXRlbS12aXNpdGVkLWNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19sYXN0LWl0ZW0tY29sb3I6ICM3Nzc7XG5cbiRicmVhZGNydW1ic19zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1ic19pdGVtLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb250ZW50OiAnXFwyMDQ0JyAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWJzX3ZlcnRpY2FsLXNwYWNlOiAxLjNyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31icmVhZGNydW1icyB7XG4gICAgJHJvb3Q6ICY7XG4gICAgcGFkZGluZy10b3A6ICRicmVhZGNydW1ic192ZXJ0aWNhbC1zcGFjZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJyZWFkY3J1bWJzX3ZlcnRpY2FsLXNwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEuOTVlbSAwIDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnNfaXRlbS1mb250LXNpemU7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2xhc3QtaXRlbS1jb2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjhlbTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRicmVhZGNydW1ic19zZXBhcmF0b3ItY29udGVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRicmVhZGNydW1ic19zZXBhcmF0b3ItY3VzdG9tLXNob3cpIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS1jb2xvcjtcblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19pdGVtLXZpc2l0ZWQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlcGFyYXRvci1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDAuNWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAwLjhlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjhlbTtcbiAgICAgICAgZmlsbDogJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb2xvcjtcbiAgICB9XG59XG5cbi5jcy1jb250YWluZXIge1xuICAgICYtLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJlYWRjcnVtYnNfYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmVhZGNydW1ic19iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1OyB9XG4gIC5jcy1idXR0b246aG92ZXIsIC5jcy1idXR0b246Zm9jdXMsIC5jcy1idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWJ1dHRvbjpiZWZvcmUsIC5jcy1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4OyB9XG4gIC5jcy1idXR0b246YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDBweCAwcHggMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDAlLCAjMmQzZTUwIDAlLCAjMmQzZTUwIDEwMCUpOyB9XG4gIC5jcy1idXR0b246YWZ0ZXIge1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgLmNzLWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgLmNzLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXR0b24sIC5jcy1idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtYnV0dG9uICosIC5jcy1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgLmNzLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtYnV0dG9uX19zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAuY3MtYnV0dG9uX19pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cblxuLmNzLWJ1dHRvbi1jb21wb25lbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3ZlciwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXMsIC5jcy1idXR0b24tY29tcG9uZW50OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MCAhaW1wb3J0YW50OyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmJlZm9yZSwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4OyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwcHggMHB4IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDphZnRlciB7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3ZlcjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudCwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudCAqLCAuY3MtYnV0dG9uLWNvbXBvbmVudDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV0dG9uLWNvbXBvbmVudDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXR0b24tY29tcG9uZW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1idXR0b24tY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudC0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX3NwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50X19pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX2Ftb3VudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fYW1vdW50OmFmdGVyIHtcbiAgICBjb250ZW50OiAnKSc7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kYnV0dG9uLWZhbGxiYWNrX3R5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGJ1dHRvbi1mYWxsYmFja19pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kYnV0dG9uLWNvbXBvbmVudF90eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2ljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG4kYnV0dG9uLWNvbXBvbmVudF9ob3Jpem9udGFsLXBvc2l0aW9uOiA1MCUgIWRlZmF1bHQ7XG4kYnV0dG9uLWNvbXBvbmVudF9ob3Jpem9udGFsLXRyYW5zbGF0aW9uOiB0cmFuc2xhdGVYKC01MCUpICFkZWZhdWx0O1xuXG4uI3skbnN9YnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICR0eXBlOiAkYnV0dG9uLWZhbGxiYWNrX3R5cGUsXG4gICAgICAgICRpY29uX3BvczogJGJ1dHRvbi1mYWxsYmFja19pY29uLXBvc1xuICAgICk7XG5cbiAgICAmX19zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGJ1dHRvbi1mYWxsYmFja190eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRidXR0b24tZmFsbGJhY2tfdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGJ1dHRvbi1mYWxsYmFja19pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cblxuLiN7JG5zfWJ1dHRvbi1jb21wb25lbnQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRidXR0b24tY29tcG9uZW50X3R5cGUsXG4gICAgICAgICRpY29uX3BvczogJGJ1dHRvbi1jb21wb25lbnRfaWNvbi1wb3NcbiAgICApO1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogJGJ1dHRvbi1jb21wb25lbnRfaG9yaXpvbnRhbC1wb3NpdGlvbjtcbiAgICB0cmFuc2Zvcm06ICRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtdHJhbnNsYXRpb247XG5cbiAgICAmX19zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGJ1dHRvbi1jb21wb25lbnRfdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGJ1dHRvbi1jb21wb25lbnRfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGJ1dHRvbi1jb21wb25lbnRfdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGJ1dHRvbi1jb21wb25lbnRfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19hbW91bnQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBtaXhpbiBjb21wb25lbnQtc3BhY2luZygkbWFyZ2lucy1jb25maWc6ICRjb21wb25lbnQtc3BhY2luZy1jb25maWd1cmF0aW9uKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRtYXJnaW5zLWNvbmZpZywgZGVmYXVsdCkge1xuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJG1hcmdpbnMtY29uZmlnLCBkZWZhdWx0KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gRGVmYXVsdCBjb21wb25lbnQgbWFyZ2luIHZhbHVlXG4gICAgICAgIG1hcmdpbjogMCAwIDNyZW07XG4gICAgfVxuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRtYXJnaW5zLWNvbmZpZywgcmVzcG9uc2l2ZSkge1xuICAgICAgICAvLyBBZGRpbmcgbWFyZ2luIHJ1bGVzIGZvciBlYWNoIHBhc3NlZCBicmVha3BvaW50XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkbWFyZ2luIGluIG1hcC1nZXQoJG1hcmdpbnMtY29uZmlnLCByZXNwb25zaXZlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyRicmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJG1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNraXAtc3BhY2luZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogTWl4aW5zIGZvciBmbGV4aWJsZSBjb250YWluZXJzIGRlY2xhcmF0aW9uLlxuICovXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG4vKipcbiAqIE5lZ2F0ZXMgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcgYW5kIHNldHMgaXQgb3duLlxuICogU29tZXRoaW1lcyB0aGlzIGhhcyB0byBiZSBkb25lIHRvIG1ha2UgYmFja2dyb3VuZCBldmVuIHRvIG90aGVyIGNvbnRhaW5lcnMnIGNvbnRlbnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBjb250YWluZXIgd3JhcHBlciB0aGF0IG1ha2VzIHN1cmUgY29udG5ldCBkb2Vzbid0IGV4dGVuZCBhYm92ZSBjZXJ0YWluIHdpZHRoIGFuZCBpcyBhbHdheXMgY2VudGVyZWQuXG4gKi9cbi5jcy1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIG1heC13aWR0aDogMTE0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czpiZWZvcmUsIC5jcy1jb250YWluZXJfX2lubmVyOmFmdGVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMzIlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMzAlOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgIHdpZHRoOiA1NiU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY1JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY3JTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbi0tc3BhY2UtdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLW5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1jb250YWluZXItLW9udG9wIHtcbiAgICB6LWluZGV4OiAzMDE7IH1cbiAgLmNzLWNvbnRhaW5lci0tdmlld3BvcnQtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuXG4uY3MtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5jcy1jb250YWluZXJfX2lubmVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBtYXgtd2lkdGg6IDExNHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lcjpiZWZvcmUsIC5jcy1jb250YWluZXJfX3Jldmlld3M6YmVmb3JlLCAuY3MtY29udGFpbmVyX19pbm5lcjphZnRlciwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgICAgLmNzLWNvbnRhaW5lcl9faW5uZXItLWZsZXg6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMiU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjclOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4tLXNwYWNlLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMDsgfSB9XG4gICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmFja2dyb3VuZC5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuICAuY3MtY29udGFpbmVyLS10b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jcy1jb250YWluZXItLXNwYWNpb3VzLFxuICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoLCAuY3MtY29udGFpbmVyLS1zdG9yZS1sb2NhdG9yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1ncmlkLXRlYXNlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY3MtY29udGFpbmVyLS1oZXJvLXRlYXNlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1ub3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jb250YWluZXItLXBkcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLXVzcHMgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtY29udGFpbmVyLS1teS1hY2NvdW50LXBhZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLW9udG9wIHtcbiAgICB6LWluZGV4OiAzMDE7IH1cbiAgLmNzLWNvbnRhaW5lci0tdmlld3BvcnQtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWRldGFpbHMtYXdfcHFfYWpheF9jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLWNhcnQtcGFnZSAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY2FydC1wYWdlIC5jcy1jb250YWluZXItLWhlYWRsaW5lIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jbXMtdGVhc2VyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgLmNzLWNvbnRhaW5lci0tZ3JpZC10ZWFzZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAuY3MtY29udGFpbmVyLS1mb290ZXItdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5jcy1jb29raWUtbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEuMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIGJveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBmb250LXNpemU6IDg1JTtcbiAgei1pbmRleDogOTg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTEwJSwgMCk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCwgb3BhY2l0eSAwLjE4cyBsaW5lYXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1jb29raWUtbWVzc2FnZS0tc2hvd24ge1xuICAgIHotaW5kZXg6IDIwMjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogOHJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2lubmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLXdyYXBwZXIge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24td3JhcHBlciB7XG4gICAgICAgIGFsaWduLXNlbGY6IHVuc2V0OyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IC5ibG9jay1jbXMtbGluay53aWRnZXQsXG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGEsIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTpob3ZlciwgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6Zm9jdXMsIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOmFjdGl2ZSwgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6dmlzaXRlZDpob3ZlciwgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwLjVyZW07XG4gICAgd2lkdGg6IDUuNXJlbTtcbiAgICBoZWlnaHQ6IDUuNXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19pY29uIHtcbiAgICAgICAgdG9wOiAtMy41cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpob3ZlciwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246Zm9jdXMsIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpiZWZvcmUsIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgcmlnaHQ6IC0xcHg7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDBweCAwcHggMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24sIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24gKiwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4ycmVtOyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24tc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbiRjb29raWUtbWVzc2FnZV9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfZm9udC1zaXplOiA4NSUgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfZm9udC1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2xpbmstY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yLS1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnQ6ICd0YWJsZXQnICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYWxpZ246IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG5cbi4jeyRuc31jb29raWUtbWVzc2FnZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvb2tpZS1tZXNzYWdlX2JhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRjb29raWUtbWVzc2FnZV9mb250LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGZvbnQtc2l6ZTogJGNvb2tpZS1tZXNzYWdlX2ZvbnQtc2l6ZTtcbiAgICB6LWluZGV4OiA5ODtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDExMCUsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMThzIGxpbmVhcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgYm90dG9tOiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNob3duIHtcbiAgICAgICAgei1pbmRleDogMjAyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1hbGlnbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLmJsb2NrLWNtcy1saW5rLndpZGdldCxcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAkY29va2llLW1lc3NhZ2VfbGluay1jb2xvcixcbiAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yLS1ob3ZlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDUuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1icmVha3BvaW50fScpIHtcbiAgICAgICAgICAgIHRvcDogLTMuNXJlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjb29raWUtbWVzc2FnZV9pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjb29raWUtbWVzc2FnZV9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jcy1kaXNwbGF5LWNvbnRyb2xsZXItLWhpZGRlbi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3MtZGlzcGxheS1jb250cm9sbGVyLS1oaWRkZW4tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi4jeyRuc31kaXNwbGF5LWNvbnRyb2xsZXIge1xuICAgICYtLWhpZGRlbi1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oaWRkZW4tZGVza3RvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWRyb3Bkb3duLXN3aXRjaGVyIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZW5kOyB9XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXI6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMS4zcmVtO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMnJlbSBzb2xpZCAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyLS1zdG9yZXM6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX29wdGlvbi1pY29uIHtcbiAgICBtaW4td2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlci0tbGFuZ3VhZ2UgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19vcHRpb24taWNvbiB7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlciAuc3dpdGNoZXItb3B0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyIHtcbiAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCAjZGNkY2RjIHNvbGlkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YmVmb3JlLCAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICBoZWlnaHQ6IDAuMXJlbTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciwgcmlnaHQgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcmlnaHQ6IDNyZW07IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAyLjVyZW07IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YmVmb3JlLCAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCByaWdodCAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgcmlnaHQ6IDAuNXJlbTsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9IH1cbiAgICAuYWN0aXZlIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgLmFjdGl2ZSAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsgfSB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLXNwYW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC4zcmVtOyB9XG4gIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjBmMGYwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgbWluLXdpZHRoOiAxMDglO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNHJlbTtcbiAgICAgICAgcmlnaHQ6IDByZW07IH0gfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdCAuY3MtZHJvcGRvd24tc3dpdGNoZXItLWN1cnJlbmN5IHtcbiAgICAgIHJpZ2h0OiAtMXJlbTsgfVxuICAgIC5hY3RpdmUgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogIzJkM2U1MCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtLWxpbms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgICAgIHBhZGRpbmc6IDEuNHJlbSAycmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMi44cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9IH1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gcHNldWRvaWNvbl9iZWZvcmUtaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gcHNldWRvaWNvbl9hZnRlci1ob29rKCR0eXBlKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy1ib3R0b20tYm9yZGVyOiAxcHggJGNvbG9yX2JvcmRlci01MDAgc29saWQgIWRlZmF1bHQ7XG5cbi8vIE9mZmNhbnZhcyB0cmlnZ2VyIG9wdGlvbnNcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3ItLWhvdmVyOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3ItLWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXR5cGU6ICdhcnJvdycgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctZGVmYXVsdDogJ2Rvd24nICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LWFjdGl2ZTogJ3VwJyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci13aWR0aDogMC43cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWhlaWdodDogMC4xcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LW9mZnNldDogM3JlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1wb3NpdGlvbi1zaWRlLW9mZnNldDogMi41cmVtICFkZWZhdWx0O1xuXG4vLyBEcm9wZG93biB0cmlnZ2VyIG9wdGlvbnNcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3ItLWhvdmVyOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yLS1hY3RpdmU6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItdHlwZTogJ2Fycm93JyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LWRlZmF1bHQ6ICdkb3duJyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LWFjdGl2ZTogJ3VwJyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXdpZHRoOiAwLjdyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1oZWlnaHQ6IDAuMXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LW9mZnNldDogMC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWJvcmRlci1jb2xvcjogJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1pdGVtLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl90b3BiYXItc2VwYXJhdG9yLWJvcmRlcjogMC4ycmVtIHNvbGlkICRjb2xvcl9ib3JkZXItMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctd2lkdGg6IDIuNXJlbTtcbiRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLWhlaWdodDogMi41cmVtO1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXByaW1hcnk6IDEuM3JlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtc2Vjb25kYXJ5OiAxLjNyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31kcm9wZG93bi1zd2l0Y2hlciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cdGp1c3RpZnktY29udGVudDogZW5kO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDEuM3JlbTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90b3BiYXItc2VwYXJhdG9yLWJvcmRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3RvcmVzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb24ge1xuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctaGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1sYW5ndWFnZSAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy13aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoZXItb3B0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1wcmltYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLWJvdHRvbS1ib3JkZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaWYgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWVuYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXR5cGUsXG4gICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1kZWZhdWx0LFxuICAgICAgICAgICAgICAgICRhcnJvdy1hY3RpdmU6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1hY3RpdmUsXG4gICAgICAgICAgICAgICAgJHdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItd2lkdGgsXG4gICAgICAgICAgICAgICAgJGhlaWdodDogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDpcbiAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXBvc2l0aW9uLXNpZGUtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLFxuICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICAgICAkY29sb3ItZXhwYW5kZWQ6XG4gICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvci0tYWN0aXZlLFxuICAgICAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcmLmFjdGl2ZSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW0gMCAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgQGlmICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWVuYWJsZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OlxuICAgICAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyLXRyaWdnZXItY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItZXhwYW5kZWQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yLS1hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcmLmFjdGl2ZSdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1zd2l0Y2hlcl9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHQgICAgbWFyZ2luLXJpZ2h0OiAuM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRkcm9wZG93bi1zd2l0Y2hlcl9ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTA4JTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNHJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWN1cnJlbmN5IHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3RpdmUgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pdGVtLWxpbmsge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtaXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1zd2l0Y2hlcl9ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS40cmVtIDJyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDIuOHJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL2hvb2snO1xuXG4kcHNldWRvaWNvbi10eXBlOiAncGx1cycgIWRlZmF1bHQ7IC8vIHBsdXMgKGRlZmF1bHQpIG9yIGFycm93XG4vLyBBbmltYXRpb24gZm9yIGFycm93cyB3b3JrcyBvbmx5IGlmIGRlZmF1bHQgYW5kIGFjdGl2ZSBkaXJlY3Rpb24gYXJlIG9wcG9zaXRlXG4kcHNldWRvaWNvbi1hbmltYXRlOiB0cnVlICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tYW5pbWF0aW9uLXRpbWU6IDAuMTVzICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJHBzZXVkb2ljb24taG92ZXItY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tZXhwYW5kZWQtY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJHBzZXVkb2ljb24td2lkdGg6IDEuMnJlbSAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLWhlaWdodDogMC4ycmVtICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tcG9zaXRpb24tc2lkZS1vZmZzZXQ6ICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG4vLyBBZGRpdGlvbmFsIHNldHRpbmdzIGZvciBhcnJvd3NcbiRwc2V1ZG9pY29uLWFycm93LWRlZmF1bHQtZGlyZWN0aW9uOiAndXAnICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tYXJyb3ctYWN0aXZlLWRpcmVjdGlvbjogJ2Rvd24nICFkZWZhdWx0O1xuLy8gSW4gc29tZSBjYXNlcyAoaXQgZGVwZW5kcyBvbiAkcHNldWRvaWNvbi13aWR0aC9oZWlnaHQgdmFsdWUpLCB3ZSBuZWVkIHRvIGZpeCBvZmZzZXQgZm9yIGxlZnQgcGFydCBvZiBpY29uXG4kcHNldWRvaWNvbi1hcnJvdy1sZWZ0LW9mZnNldDogY2FsYyhcbiAgICAjeyRwc2V1ZG9pY29uLXBvc2l0aW9uLXNpZGUtb2Zmc2V0fSArICN7JHBzZXVkb2ljb24td2lkdGh9IC0gI3syICpcbiAgICAgICAgJHBzZXVkb2ljb24taGVpZ2h0fVxuKSAhZGVmYXVsdDtcblxuJHBzZXVkb2ljb24tYWN0aXZlLXNlbGVjdG9yOiAnJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXScgIWRlZmF1bHQ7XG5cbkBtaXhpbiBwc2V1ZG9pY29uKFxuICAgICR0eXBlOiAkcHNldWRvaWNvbi10eXBlLFxuICAgICRhbmltYXRlZDogJHBzZXVkb2ljb24tYW5pbWF0ZSxcbiAgICAkYW5pbWF0aW9uLXRpbWU6ICRwc2V1ZG9pY29uLWFuaW1hdGlvbi10aW1lLFxuICAgICRjb2xvcjogJHBzZXVkb2ljb24tY29sb3IsXG4gICAgJGNvbG9yLWhvdmVyOiAkcHNldWRvaWNvbi1ob3Zlci1jb2xvcixcbiAgICAkY29sb3ItZXhwYW5kZWQ6ICRwc2V1ZG9pY29uLWV4cGFuZGVkLWNvbG9yLFxuICAgICR3aWR0aDogJHBzZXVkb2ljb24td2lkdGgsXG4gICAgJGhlaWdodDogJHBzZXVkb2ljb24taGVpZ2h0LFxuICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDogJHBzZXVkb2ljb24tcG9zaXRpb24tc2lkZS1vZmZzZXQsXG4gICAgJGFycm93LWRlZmF1bHQ6ICRwc2V1ZG9pY29uLWFycm93LWRlZmF1bHQtZGlyZWN0aW9uLFxuICAgICRhcnJvdy1hY3RpdmU6ICRwc2V1ZG9pY29uLWFycm93LWFjdGl2ZS1kaXJlY3Rpb24sXG4gICAgJGFycm93LW9mZnNldDogJHBzZXVkb2ljb24tYXJyb3ctbGVmdC1vZmZzZXQsXG4gICAgJGFjdGl2ZS1zZWxlY3RvcjogJHBzZXVkb2ljb24tYWN0aXZlLXNlbGVjdG9yXG4pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgIEBpZiAoJGFuaW1hdGVkKSB7XG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdhcnJvdycpIHtcbiAgICAgICAgICAgICAgICBAaWYgKCgkYXJyb3ctZGVmYXVsdCA9PSAndXAnKSBhbmQgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSkgb3JcbiAgICAgICAgICAgICAgICAgICAgKCgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIGFuZCAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSkgb3JcbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgKCRhcnJvdy1kZWZhdWx0ID09ICdsZWZ0JykgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0JylcbiAgICAgICAgICAgICAgICAgICAgKSBvclxuICAgICAgICAgICAgICAgICAgICAoKCRhcnJvdy1kZWZhdWx0ID09ICdyaWdodCcpIGFuZCAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRhbmltYXRpb24tdGltZSBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodCAkYW5pbWF0aW9uLXRpbWUgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkYW5pbWF0aW9uLXRpbWUgbGluZWFyO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tdGltZSBsaW5lYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICgyICogJGFuaW1hdGlvbi10aW1lKSBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAkYW5pbWF0aW9uLXRpbWUgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKCRjb2xvci1ob3ZlciAhPSAkY29sb3IpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tdGltZSBsaW5lYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgQGlmICgkY29sb3ItaG92ZXIgIT0gJGNvbG9yKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjeyRhY3RpdmUtc2VsZWN0b3J9IHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGlmICgkY29sb3ItZXhwYW5kZWQgIT0gJGNvbG9yKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWV4cGFuZGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnYXJyb3cnKSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDUwJSwgMCk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRhY3RpdmUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skYWN0aXZlLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb25fYmVmb3JlLWhvb2soJHR5cGUpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uX2FmdGVyLWhvb2soJHR5cGUpO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4uY3MtZmllbGQsXG4uY3MtaW5wdXQge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWZpZWxkX19jb250cm9sLFxuICAuY3MtaW5wdXRfX2NvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1maWVsZF9fbGFiZWwsXG4gIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAucmVxdWlyZWQgLmNzLWZpZWxkX19sYWJlbDphZnRlciwgLnJlcXVpcmVkXG4gICAgLmNzLWlucHV0X19sYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnIConO1xuICAgICAgY29sb3I6ICNlNDFmMTI7IH1cbiAgLmNzLWZpZWxkX19pbnB1dCwgLmNzLWZpZWxkX190ZXh0YXJlYSxcbiAgLmNzLWlucHV0X19pbnB1dCxcbiAgLmNzLWlucHV0X190ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgIC5jcy1maWVsZF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX190ZXh0YXJlYTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fdGV4dGFyZWE6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dDo6cGxhY2Vob2xkZXIsIC5jcy1maWVsZF9fdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy1maWVsZF9faW5wdXRbZGlzYWJsZWRdLCAuY3MtZmllbGRfX3RleHRhcmVhW2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX2lucHV0W2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dC5tYWdlLWVycm9yLCAuY3MtZmllbGRfX2lucHV0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksIC5jcy1maWVsZF9fdGV4dGFyZWEubWFnZS1lcnJvciwgLmNzLWZpZWxkX190ZXh0YXJlYS5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpLFxuICAgIC5jcy1pbnB1dF9faW5wdXQubWFnZS1lcnJvcixcbiAgICAuY3MtaW5wdXRfX2lucHV0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYS5tYWdlLWVycm9yLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWEubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTQxZjEyOyB9XG4gIC5jcy1maWVsZF9fc2VsZWN0LFxuICAuY3MtaW5wdXRfX3NlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjNlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuY3MtZmllbGRfX3NlbGVjdDotbW96LWZvY3VzcmluZywgLmNzLWZpZWxkX19zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6LW1vei1mb2N1c3JpbmcsXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX3NlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjMyZDNlNTAnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0W2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0IG9wdGlvbixcbiAgICAuY3MtaW5wdXRfX3NlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogaW5pdGlhbDsgfVxuICAuY3MtZmllbGRfX3JhZGlvLFxuICAuY3MtaW5wdXRfX3JhZGlvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgd2lkdGg6IDFlbTtcbiAgICBtYXJnaW46IC0wLjA2MjVlbSBjYWxjKDAuNWVtICsgMXB4KSAwIDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvOjotbW96LWZvY3VzLWlubmVyLCAuY3MtZmllbGRfX3JhZGlvOi1tb3otZm9jdXNyaW5nLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLmNzLWlucHV0X19yYWRpbzotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX19yYWRpbzpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19yYWRpbzpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19yYWRpbzpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZCxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjMyZDNlNTAnIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkLCAuY3MtZmllbGRfX3JhZGlvOmNoZWNrZWQ6aG92ZXIsIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZDpmb2N1cyxcbiAgICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZCxcbiAgICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZDpob3ZlcixcbiAgICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWZpZWxkX19yYWRpb1tkaXNhYmxlZF0sXG4gICAgLmNzLWZpZWxkX19yYWRpb1tkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmNzLWZpZWxkX19yYWRpb1tkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsLFxuICAgIC5jcy1pbnB1dF9fcmFkaW9bZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fcmFkaW9bZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5jcy1pbnB1dF9fcmFkaW9bZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gIC5jcy1maWVsZF9fY2hlY2tib3gsXG4gIC5jcy1pbnB1dF9fY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIG1hcmdpbjogLTAuMDYyNWVtIGNhbGMoMC41ZW0gKyAxcHgpIDAgMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtOyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDo6LW1vei1mb2N1cy1pbm5lciwgLmNzLWZpZWxkX19jaGVja2JveDotbW96LWZvY3VzcmluZyxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fY2hlY2tib3g6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQsXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzMmQzZTUwJyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZCwgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkOmhvdmVyLCAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6aG92ZXIsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdLFxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzMmQzZTUwJyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveC5tYWdlLWVycm9yLCAuY3MtZmllbGRfX2NoZWNrYm94Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksXG4gICAgLmNzLWlucHV0X19jaGVja2JveC5tYWdlLWVycm9yLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3gubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTQxZjEyOyB9XG4gIC5jcy1maWVsZF9faWNvbixcbiAgLmNzLWlucHV0X19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEuM2VtO1xuICAgIGhlaWdodDogMS4zZW07XG4gICAgcmlnaHQ6IDAuOGVtO1xuICAgIHRvcDogMC44ZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZmllbGRfX25vdGUsXG4gIC5jcy1pbnB1dF9fbm90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIC5jcy1maWVsZF9fZXJyb3IsXG4gIC5jcy1pbnB1dF9fZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBjb2xvcjogI2U0MWYxMjsgfVxuXG4uZmllbGQge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmZpZWxkLl9zdWNjZXNzOm5vdCguX3dhcm4pIC5jb250cm9sIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmllbGQuX3N1Y2Nlc3M6bm90KC5fd2FybikgLmNvbnRyb2w6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEuM2VtO1xuICAgICAgaGVpZ2h0OiAxLjNlbTtcbiAgICAgIHJpZ2h0OiAwLjhlbTtcbiAgICAgIHRvcDogMC44ZW07XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NoZWNrLWdyZWVuLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuICAgICAgY29udGVudDogJyc7IH1cbiAgLmZpZWxkIC5jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cbiAgICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWE6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICM4ODg7IH1cbiAgICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmZpZWxkIC5sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuZmllbGQucmVxdWlyZWQgPiAubGFiZWw6YWZ0ZXIsIC5maWVsZC5fcmVxdWlyZWQgPiAubGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgY29sb3I6ICNlNDFmMTI7IH1cbiAgLmZpZWxkLnJlcXVpcmVkIC5fcmVxdWlyZWQgPiAubGFiZWw6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZpZWxkIC5pbnB1dC10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5pbnB1dC10ZXh0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0Lm1hZ2UtZXJyb3IsIC5maWVsZCAuaW5wdXQtdGV4dC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDFmMTI7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHQucmVxdWlyZWQtZW50cnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuZmllbGQgLnNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjNlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuZmllbGQgLnNlbGVjdDotbW96LWZvY3VzcmluZywgLmZpZWxkIC5zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkIC5zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLnNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzMmQzZTUwJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAuZmllbGQgLnNlbGVjdFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZCAuc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gIC5maWVsZCAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIG1hcmdpbjogLTAuMDYyNWVtIGNhbGMoMC41ZW0gKyAxcHgpIDAgMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtOyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDo6LW1vei1mb2N1cy1pbm5lciwgLmZpZWxkIC5jaGVja2JveDotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5jaGVja2JveDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyMzJkM2U1MCcgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQsIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZDpob3ZlciwgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94W2Rpc2FibGVkXSxcbiAgICAuZmllbGQgLmNoZWNrYm94W2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuZmllbGQgLmNoZWNrYm94W2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSclMjMyZDNlNTAnIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94Lm1hZ2UtZXJyb3IsIC5maWVsZCAuY2hlY2tib3gubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTQxZjEyOyB9XG4gIC5maWVsZCAucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIG1hcmdpbjogLTAuMDYyNWVtIGNhbGMoMC41ZW0gKyAxcHgpIDAgMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5maWVsZCAucmFkaW86Oi1tb3otZm9jdXMtaW5uZXIsIC5maWVsZCAucmFkaW86LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkIC5yYWRpbzpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAucmFkaW86Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmllbGQgLnJhZGlvOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjMyZDNlNTAnIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmZpZWxkIC5yYWRpbzpjaGVja2VkLCAuZmllbGQgLnJhZGlvOmNoZWNrZWQ6aG92ZXIsIC5maWVsZCAucmFkaW86Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZpZWxkIC5yYWRpb1tkaXNhYmxlZF0sXG4gICAgLmZpZWxkIC5yYWRpb1tkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmZpZWxkIC5yYWRpb1tkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjNlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjMyZDNlNTAnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3RbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gIC5maWVsZC5maWVsZC1kb2IgaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGlucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkLmZpZWxkLWRvYiBpbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM4ODg7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkLmZpZWxkLWRvYiBpbnB1dC5tYWdlLWVycm9yLCAuZmllbGQuZmllbGQtZG9iIGlucHV0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U0MWYxMjsgfVxuICAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjo6YmVmb3JlLCAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbiwgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uICosIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmZpZWxkLmZpZWxkLWRvYiBidXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbiBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAuZmllbGQuX2Vycm9yIC5pbnB1dC10ZXh0LCAuZmllbGQuX2Vycm9yIC5pbnB1dC10ZXh0OmhvdmVyOm5vdCg6Zm9jdXMpLFxuICAuZmllbGQuX2Vycm9yIC5jaGVja2JveCxcbiAgLmZpZWxkLl9lcnJvciAuY2hlY2tib3g6aG92ZXI6bm90KDpmb2N1cykge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDFmMTI7IH1cbiAgLmZpZWxkIC5jb250cm9sLl93aXRoLXRvb2x0aXAgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZmllbGQgLmZpZWxkLXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmxhYmVsLFxuICAgIC5maWVsZCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1hY3Rpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5maWVsZCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5maWVsZCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmllbGQgLm5vdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuXG5kaXYubWFnZS1lcnJvcixcbmRpdi5maWVsZC1lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgcGFkZGluZzogMC4zZW0gMCAwO1xuICBjb2xvcjogIzY5Njk2OTtcbiAgY29sb3I6ICNlNDFmMTI7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBmaWVsZC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3ItaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWxhYmVsLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbC1yZXF1aXJlZC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtY29udHJvbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0LWVycm9yLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1pY29uLWhvb2soJHR5cGU6ICcnKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1ub3RlLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvci1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtd2FybmluZy1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtc2VsZWN0LWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpby1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8tbGFiZWwtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94LWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveC1sYWJlbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtZG9iLWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3VyaS1mcmllbmRseS1oZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9ob29rJztcblxuJGZpZWxkX2ZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGZpZWxkX3RyYW5zaXRpb24tdGltZTogMC41cyAhZGVmYXVsdDtcblxuJGZpZWxkX2xhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtZm9udC1zaXplOiAwLjg1ZW0gIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG5cbiRmaWVsZF9pbnB1dC1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1saW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1wYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmcgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm9yZGVyLWFjdGl2ZTogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogMC42NSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kZmllbGRfZXJyb3ItZm9udC1zaXplOiAkZmllbGRfbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX2Vycm9yLWlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9ub3RlLWZvbnQtc2l6ZTogJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWVsZF9ub3RlLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9lcnJvci1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX3dhcm5pbmctY29sb3I6ICRjb2xvcl93YXJuaW5nLTUwMCAhZGVmYXVsdDtcbi8vIEJhc2VkIG9uIGh0dHBzOi8vd3d3LmZpbGFtZW50Z3JvdXAuY29tL2xhYi9zZWxlY3QtY3NzLmh0bWxcbiRmaWVsZF9zZWxlY3QtZm9udC1zaXplOiAkZmllbGRfaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodDogJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1wYWRkaW5nOiAkZmllbGRfaW5wdXQtcGFkZGluZyAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtcGFkZGluZy1yaWdodDogMi4zZW0gIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCUgIWRlZmF1bHQ7XG5cbi8vIE5vdGUgdGhhdCBzZWxlY3QgYmFja2dyb3VuZCBuZWVkcyB0byBiZSBkZWZpbmVkIGFzIGJhY2tncm91bmQtaW1hZ2UgdG8gcHJldmVudFxuLy8gb3B0aW9uIGVsZW1lbnRzIGZyb20gaW5oZXJpdGluZyBpdCBvbiBzb21lIGJyb3dzZXJzLlxuJGZpZWxkX3NlbGVjdC1pY29uLWZpbGw6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwtYWN0aXZlOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwpfSclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLFxuICAgIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSkgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtYWN0aXZlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9zZWxlY3QtaWNvbi1maWxsLWFjdGl2ZSl9JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksXG4gICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKSAhZGVmYXVsdDtcblxuJGZpZWxkX3NlbGVjdC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm9yZGVyLWFjdGl2ZTogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9pbnB1dC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1kaXNhYmxlZC1vcGFjaXR5OiAkZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbiRmaWVsZF9yYWRpby1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1zaXplOiAxZW0gIWRlZmF1bHQ7XG4vLyBMZXRzIHlvdSBhZGp1c3QgYm90aCByYWRpbyBhbmQgY2hlY2tib3ggYWxpZ25tZW50IGJhc2VkIG9uIGZvbnQgeW91J3ZlIGNob3Nlbi5cbiRmaWVsZF9yYWRpby1vZmZzZXQ6IC0wLjA2MjVlbSAhZGVmYXVsdDtcbi8vIEFsaWduaW5nIGFueXRoaW5nIHRoYXQgY29tZXMgYWZ0ZXIgd2l0aCBpbnB1dCBwYWRkaW5ncywgdGhpcyAxcHggc3RhbmRzIGZvciBpbnB1dCdzIGJvcmRlciB3aWR0aC5cbiRmaWVsZF9yYWRpby1tYXJnaW46ICRmaWVsZF9yYWRpby1vZmZzZXRcbiAgICBjYWxjKCN7MS41ZW0gLSAkZmllbGQtcmFkaW8tc2l6ZX0gKyAxcHgpIDAgMCAhZGVmYXVsdDtcblxuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtc2l6ZTogMWVtIDFlbSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1jaGVja2VkOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1pY29uLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9yYWRpby1pY29uLWZpbGwpfScgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4kZmllbGRfcmFkaW8tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm9yZGVyLWFjdGl2ZTogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3JkZXItY2hlY2tlZDogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctYWN0aXZlOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctY2hlY2tlZDogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1kaXNhYmxlZC1vcGFjaXR5OiAkZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJGZpZWxkX2NoZWNrYm94LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtICFkZWZhdWx0O1xuJGZpZWxkX2NoZWNrYm94LWljb24tZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9jaGVja2JveC1pY29uLWZpbGwpfScgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcblxuJGZpZWxkX2ljb24td2lkdGg6IDEuM2VtICFkZWZhdWx0O1xuJGZpZWxkX2ljb24taGVpZ2h0OiAxLjNlbSAhZGVmYXVsdDtcbiRmaWVsZF9pY29uLXN1Y2Nlc3MtYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvY2hlY2stZ3JlZW4uc3ZnJykgbm8tcmVwZWF0XG4gICAgY2VudGVyIGNlbnRlciAvIGNvbnRhaW4gIWRlZmF1bHQ7XG5cbiRmaWVsZF9kb2ItYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGZpZWxkX2RvYi1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkKCkge1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2ZvbnQtc2l6ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3IoKSB7XG4gICAgZm9udC1zaXplOiAkZmllbGRfZXJyb3ItZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3JfZXJyb3ItNTAwO1xuICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtZXJyb3ItaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwoKSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmaWVsZF9sYWJlbC1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRmaWVsZF9sYWJlbC1mb250LXNpemU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRmaWVsZF9sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICBjb2xvcjogJGZpZWxkX2xhYmVsLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwtcmVxdWlyZWQoKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfZXJyb3ItNTAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLXJlcXVpcmVkLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNvbnRyb2woKSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1jb250cm9sLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0KCkge1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2lucHV0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRmaWVsZF9pbnB1dC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkZmllbGRfaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGZpZWxkX2lucHV0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX2lucHV0LWJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyOiAkZmllbGRfaW5wdXQtYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9pbnB1dC1ib3gtc2hhZG93O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtOyAvLyBBZGQgc3BhY2luZyB1bmRlciBsYWJlbC4gVGhpcyBjYW4ndCBiZSBhZGRlZCB0byBsYWJlbCBpdHNlbGYgYmVjYXVzZSB0aGV5IGFyZSBzb21ldGltZXMgcmVuZGVyZWQgZW1wdHkuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgLy8gUmVtb3ZlcyBkcm9wIHNoYWRvdyBmcm9tIGlucHV0cyBvbiBpT1MuXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9pbnB1dC1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX2lucHV0LWJveC1zaGFkb3ctYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogJGZpZWxkX2lucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogJGZpZWxkX2lucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQtZXJyb3IoKSB7XG4gICAgJixcbiAgICAmOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgYm9yZGVyOiAkZmllbGRfZXJyb3ItaW5wdXQtYm9yZGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWljb24oJHR5cGU6ICcnKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAkZmllbGRfaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmaWVsZF9pY29uLWhlaWdodDtcbiAgICByaWdodDogMC44ZW07XG4gICAgdG9wOiAwLjhlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGZpZWxkX2ljb24tc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWljb24taG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBmaWVsZC1ub3RlKCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX25vdGUtZm9udC1zaXplO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogJGZpZWxkX25vdGUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1ub3RlLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWVycm9yKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcblxuICAgIGNvbG9yOiAkZmllbGRfZXJyb3ItY29sb3I7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1lcnJvci1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC13YXJuaW5nKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcblxuICAgIGNvbG9yOiAkZmllbGRfd2FybmluZy1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLXdhcm5pbmctaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtc2VsZWN0KCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX3NlbGVjdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWVsZF9zZWxlY3QtbGluZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGZpZWxkX3NlbGVjdC1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmaWVsZF9zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBjb2xvcjogJGZpZWxkX3NlbGVjdC1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkZmllbGRfc2VsZWN0LWJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyOiAkZmllbGRfc2VsZWN0LWJvcmRlcjtcbiAgICBib3gtc2hhZG93OiAkZmllbGRfc2VsZWN0LWJveC1zaGFkb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtOyAvLyBBZGQgc3BhY2luZyB1bmRlciBsYWJlbC4gVGhpcyBjYW4ndCBiZSBhZGRlZCB0byBsYWJlbCBpdHNlbGYgYmVjYXVzZSB0aGV5IGFyZSBzb21ldGltZXMgcmVuZGVyZWQgZW1wdHkuXG4gICAgb3V0bGluZTogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtaW1hZ2U7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1wb3NpdGlvbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1zaXplO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgICY6LW1vei1mb2N1c3JpbmcsXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX3NlbGVjdC1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93LWFjdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6ICRmaWVsZF9zZWxlY3QtZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG5cbiAgICBvcHRpb24ge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1zZWxlY3QtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8tbGFiZWwoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtcmFkaW8tbGFiZWwtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8oKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJGZpZWxkX3JhZGlvLXNpemU7XG4gICAgd2lkdGg6ICRmaWVsZF9yYWRpby1zaXplO1xuICAgIG1hcmdpbjogJGZpZWxkX3JhZGlvLW1hcmdpbjtcbiAgICBmb250LXNpemU6ICRmaWVsZF9yYWRpby1mb250LXNpemU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleDogMCAwIGF1dG87IC8vIFByZXZlbnQgZmxleCBwYXJlbnQgZnJvbSBicmVha2luZyBkaW1lbnNpb25zLlxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlcjogJGZpZWxkX3JhZGlvLWJvcmRlcjtcbiAgICBib3gtc2hhZG93OiAkZmllbGRfcmFkaW8tYm94LXNoYWRvdztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1zaXplO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZSxcbiAgICAgICAgYm9yZGVyLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWU7XG5cbiAgICAmOjotbW96LWZvY3VzLWlubmVyLFxuICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9yYWRpby1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctYWN0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDtcblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX3JhZGlvLWJvcmRlci1jaGVja2VkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItY2hlY2tlZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9yYWRpby1ib3gtc2hhZG93LWNoZWNrZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICAmW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAmW2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAkZmllbGRfcmFkaW8tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveC1sYWJlbCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1sYWJlbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpbygpO1xuXG4gICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX2NoZWNrYm94LWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1zaXplO1xuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1kb2IoKSB7XG4gICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRmaWVsZF9kb2ItYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmaWVsZF9kb2ItYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGZpZWxkX2RvYi1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRmaWVsZF9kb2ItYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtZG9iLWhvb2soKTtcbn1cbiIsIkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cbi8vIE91ciBCRU0gY29tcG9uZW50LlxuLmNzLWZpZWxkLFxuLy8gTGVmdCBmb3Igbm93IGZvciBjb21wYXRpYmlsaXR5IHNha2UuXG4uY3MtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZpZWxkKCk7XG5cbiAgICAmX19jb250cm9sIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtY29udHJvbCgpO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwoKTtcblxuICAgICAgICAucmVxdWlyZWQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbC1yZXF1aXJlZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQsXG4gICAgJl9fdGV4dGFyZWEge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VsZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0KCk7XG4gICAgfVxuXG4gICAgJl9fcmFkaW8ge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1yYWRpbygpO1xuXG4gICAgICAgIC8vIFRvIHJld3JpdGUgdG8gcHJvcGVyIHNjc3Mgc3ludGF4IGFmdGVyIGdldHRpbmcgcmlkIG9mIC5jcy1pbnB1dCBjbGFzc1xuICAgICAgICAmICsgLmNzLWlucHV0X19sYWJlbCxcbiAgICAgICAgJiArIC5jcy1maWVsZF9fbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8tbGFiZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NoZWNrYm94IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3goKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRvIHJld3JpdGUgdG8gcHJvcGVyIHNjc3Mgc3ludGF4IGFmdGVyIGdldHRpbmcgcmlkIG9mIC5jcy1pbnB1dCBjbGFzc1xuICAgICAgICAmICsgLmNzLWlucHV0X19sYWJlbCxcbiAgICAgICAgJiArIC5jcy1maWVsZF9fbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3gtbGFiZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pY29uKCk7XG4gICAgfVxuXG4gICAgJl9fbm90ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcbiAgICB9XG5cbiAgICAmX19lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yKCk7XG4gICAgfVxufVxuLy8gTWFnZW50byBjbGFzc2VzIHVzZWQgaW4gY2hlY2tvdXQsIGxvZ2luL3JlZ2lzdGVyIGZvcm1zIGV0Yy5cbi5maWVsZCB7XG4gICAgQGluY2x1ZGUgZmllbGQoKTtcblxuICAgICYuX3N1Y2Nlc3M6bm90KC5fd2Fybikge1xuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWljb24oJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250cm9sIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtY29udHJvbCgpO1xuXG4gICAgICAgID4gdGV4dGFyZWEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsKCk7XG4gICAgfVxuXG4gICAgJi5yZXF1aXJlZCxcbiAgICAmLl9yZXF1aXJlZCB7XG4gICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLXJlcXVpcmVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgLl9yZXF1aXJlZCB7XG4gICAgICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgYXN0ZXJpc2tzIGZvciBsYWJlbHMgaW5zaWRlIGZpZWxkc2V0cyBhcyB0aGV5IGFyZSB1c3VhbGx5IHJlbmRlcmVkIGVtcHR5LlxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmVxdWlyZWQtZW50cnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1zZWxlY3QoKTtcbiAgICB9XG5cbiAgICAuY2hlY2tib3gge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1sYWJlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhZGlvIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8oKTtcblxuICAgICAgICAmICsgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1c3RvbWVyLW5hbWUtcHJlZml4IHtcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5maWVsZC1kb2Ige1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1kb2IoKTtcbiAgICB9XG5cbiAgICAmLl9lcnJvciB7XG4gICAgICAgIC5pbnB1dC10ZXh0LFxuICAgICAgICAuY2hlY2tib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldmVydGluZyBzdHlsZXMgZm9yIGlucHV0IHdpdGggdG9vbHRpcC5cbiAgICAuY29udHJvbC5fd2l0aC10b29sdGlwIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLy8gUmV2ZXJ0aW5nIGluZm8gdG9vbHRpcCBzdHlsZXMgdG8gbWFrZSBpdCBhcHBlYXIgYXMgbm90ZSBiZWxvdyB0aGUgaW5wdXQuXG4gICAgLmZpZWxkLXRvb2x0aXAge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgIC5sYWJlbCxcbiAgICAgICAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ub3RlIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuICAgIH1cbn1cbi8vIEhhcyB0byBiZSBzY29wZWQgdG8gZGl2LCBvdGhlcndpc2UgaXQgY29sbGlkZXMgd2l0aCBpbnB1dCBjbGFzcy5cbmRpdi5tYWdlLWVycm9yLFxuZGl2LmZpZWxkLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1lcnJvcigpO1xufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKipcbiAqIEZvb3RlciBjb21wb25lbnQgY3VzdG9taXphdGlvbi5cbiAqIEBzZWUgL01hZ2VudG9fVGhlbWUvdGVtcGxhdGVzL2Zvb3Rlci9jb2x1bW5zLnBodG1sIGZvciB0ZW1wbGF0ZXMuXG4gKi9cbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuQGltcG9ydCAnfkNyZWF0aXZlc2hvcC9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuc2Nzcyc7XG5cbiRmb290ZXJfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjZmZmO1xuJGZvb3Rlcl9lZGdlLWd1dHRlcjogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlcjogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdmVydGljYWwtb2Zmc2V0OiAxZW07XG5cbiRmb290ZXJfc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi10aXRsZS1oZWFkbGluZS1sZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS00ICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXBhZGRpbmc6ICRmb290ZXJfc2VjdGlvbi12ZXJ0aWNhbC1vZmZzZXRcbiRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlcjtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtZm9udC1zaXplOiAxLjZlbTtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJGZvb3Rlcl9zZWN0aW9uLXBzZXVkb2ljb24taW5jbHVkZTogZmFsc2U7XG5cbiRmb290ZXJfcHJvbW8tZGlzcGxheS1vbi1tb2JpbGU6IGZhbHNlICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLXdpZHRoOiAxMy41ZW0gIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28taGVpZ2h0OiAyLjNlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWZvb3RlciB7XG4gICAgJHJvb3Q6ICY7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgY29sb3I6ICRjb2xvcl9kb3ZlLWdyYXk7XG4gICAgYmFja2dyb3VuZDogJGZvb3Rlcl9iYWNrZ3JvdW5kO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAwIDJyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGZvb3Rlcl9lZGdlLWd1dHRlcjtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJvbW8ge1xuICAgICAgICAgICAgQGlmICRmb290ZXJfcHJvbW8tZGlzcGxheS1vbi1tb2JpbGUgPT0gZmFsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saW5rcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXJfc2VjdGlvbi12ZXJ0aWNhbC1vZmZzZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDEwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWV4dHJhcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxLjNlbTsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNvY2lhbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zdG9yZXMtc3dpdGNoZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmxvY2stY21zLWxpbmsud2lkZ2V0IHtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi10aXRsZSxcbiAgICBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgQGlmICRmb290ZXJfc2VjdGlvbi10aXRsZS1oZWFkbGluZS1sZXZlbCAhPSAnbm9uZScge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWwpO1xuICAgICAgICB9XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAkZm9vdGVyX3NlY3Rpb24tc2VwYXJhdG9yLWJvcmRlcjtcbiAgICAgICAgcGFkZGluZzogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXBhZGRpbmc7XG4gICAgICAgIGNvbG9yOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXJfc2VjdGlvbi10aXRsZS10cmFuc2Zvcm07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdICYsXG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAmIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaWYgJGZvb3Rlcl9zZWN0aW9uLXBzZXVkb2ljb24taW5jbHVkZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uLS1zb2NpYWxzICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24tY29udGVudCxcbiAgICBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgICAgICBwYWRkaW5nOiAwICRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlciAkZm9vdGVyX3NlY3Rpb24tZWRnZS1ndXR0ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gJixcbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaG9wLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiAkZm9vdGVyX2xvZ28tZGlzcGxheTtcbiAgICAgICAgd2lkdGg6ICRmb290ZXJfbG9nby13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkZm9vdGVyX2xvZ28taGVpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6ICRmb290ZXJfbG9nby13aWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAuZm9vdGVyX3RvcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIC5jcy1mb290ZXJfX2xvZ28ge1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6LTI4cHg7XG4gICAgICAgICAgICBsZWZ0OmNhbGMoNTAlIC0gOTBweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgdG9wOi0xOXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6Y2FsYyg1MCUgLSA2NXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1haWxfaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL2ljb25zL2UtbWFpbC5wbmcnKTtcbiAgICAgICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRlbGVmb25faWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL2ljb25zL3RlbGVmb24ucG5nJyk7XG5cbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mb290ZXJfYm90dG9tIHtcbiAgICAgICAgcGFkZGluZy10b3A6MHB4O1xuICAgICAgICAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItbGVnYWN5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6MTAwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jcy1jb250YWluZXIge1xuICAgICYtLWZvb3RlciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDo0ZW07XG4gICAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyB7XG4gICAgICAgICAgICBoNDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MCAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBGb290ZXIgY29tcG9uZW50IGN1c3RvbWl6YXRpb24uXG4gKiBAc2VlIC9NYWdlbnRvX1RoZW1lL3RlbXBsYXRlcy9mb290ZXIvY29sdW1ucy5waHRtbCBmb3IgdGVtcGxhdGVzLlxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogRm9vdGVyIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZW50b19UaGVtZS90ZW1wbGF0ZXMvZm9vdGVyL2NvbHVtbnMucGh0bWwgZm9yIHRlbXBsYXRlcy5cbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uY3MtZm9vdGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cbiAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbSB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tbGlua3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgZmxleC1ncm93OiAyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIge1xuICAgICAgZmxleC1ncm93OiAyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzIHtcbiAgICAgIG1hcmdpbi10b3A6IDRyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLXN0b3Jlcy1zd2l0Y2hlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgbWF4LXdpZHRoOiAyMHJlbTsgfSB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODg4O1xuICAgIHBhZGRpbmc6IDJlbSAxLjVyZW07XG4gICAgY29sb3I6ICM4ODg7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmFmdGVyLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZVxuICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZVxuICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmFmdGVyLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZVxuICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZVxuICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKC05MGRlZykgIWltcG9ydGFudDtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoMCkgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc29jaWFscyAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLyogMSAqLyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5jcy1mb290ZXJfX3Nob3AtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEzLjVlbTtcbiAgICBoZWlnaHQ6IDIuM2VtO1xuICAgIG1pbi13aWR0aDogMTMuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbi5jcy1jb250YWluZXItLWZvb3RlciB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4uY3MtY29udGFpbmVyLS1mb290ZXItdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLmNzLWZvb3RlciB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogIzY5Njk2OTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cbiAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5jcy1mb290ZXJfX2NvbnRlbnQgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0ge1xuICAgICAgZmxleDogMTsgfSB9XG4gIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgZmxleC1ncm93OiAxMDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cbiAgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHAge1xuICAgIGZvbnQtc2l6ZTogMS4zZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIge1xuICAgICAgZmxleC1ncm93OiAyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzIHtcbiAgICAgIG1hcmdpbi10b3A6IDRyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLXN0b3Jlcy1zd2l0Y2hlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgbWF4LXdpZHRoOiAyMHJlbTsgfSB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24gLmJsb2NrLWNtcy1saW5rLndpZGdldCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODg4O1xuICAgIHBhZGRpbmc6IDFlbSAxLjVyZW07XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSxcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc29jaWFscyAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLyogMSAqLyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10sXG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLWNvbnRlbnQsXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAuY3MtZm9vdGVyX19zaG9wLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMy41ZW07XG4gICAgaGVpZ2h0OiAyLjNlbTtcbiAgICBtaW4td2lkdGg6IDEzLjVlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY3MtZm9vdGVyIC5mb290ZXJfdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5jcy1mb290ZXIgLmZvb3Rlcl90b3AgLmNzLWZvb3Rlcl9fbG9nbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0yOHB4O1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA5MHB4KTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWZvb3RlciAuZm9vdGVyX3RvcCAuY3MtZm9vdGVyX19sb2dvIHtcbiAgICAgICAgICB0b3A6IC0xOXB4O1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNjVweCk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyIC5mb290ZXJfdG9wIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIC5jcy1mb290ZXIgLmZvb3Rlcl90b3AgLm1haWxfaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZS1tYWlsLnBuZ1wiKTtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgd2lkdGg6IDE0cHg7IH1cbiAgICAuY3MtZm9vdGVyIC5mb290ZXJfdG9wIC50ZWxlZm9uX2ljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RlbGVmb24ucG5nXCIpO1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IC00cHg7IH1cbiAgLmNzLWZvb3RlciAuZm9vdGVyX2JvdHRvbSB7XG4gICAgcGFkZGluZy10b3A6IDBweDsgfVxuICAgIC5jcy1mb290ZXIgLmZvb3Rlcl9ib3R0b20gLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLWxlZ2FjeSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuY3MtZm9vdGVyIC5mb290ZXJfYm90dG9tIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci1sZWdhY3kgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwcHg7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgICAuY3MtZm9vdGVyIC5mb290ZXJfYm90dG9tIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci1sZWdhY3kgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5jcy1mb290ZXIgLmZvb3Rlcl9ib3R0b20gLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLWxlZ2FjeSBpbWcge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgICAuY3MtZm9vdGVyIC5mb290ZXJfYm90dG9tIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci1sZWdhY3kgaW1nIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MCU7IH0gfVxuICAgICAgLmNzLWZvb3RlciAuZm9vdGVyX2JvdHRvbSAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItbGVnYWN5IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG5cbi5jcy1jb250YWluZXItLWZvb3RlciB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLXRvcDogNGVtOyB9XG4gIC5jcy1jb250YWluZXItLWZvb3RlciAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMgaDQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tZm9vdGVyIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyBwIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4iLCIvKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xufVxuXG5AbWl4aW4gdmlzdWFsbHktdmlzaWJsZSB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuIiwiLyoqXG4gKiBGb290ZXIgY29tcG9uZW50IGN1c3RvbWl6YXRpb24uXG4gKiBAc2VlIC9NYWdlbnRvX1RoZW1lL3RlbXBsYXRlcy9mb290ZXIvY29sdW1ucy5waHRtbCBmb3IgdGVtcGxhdGVzLlxuICovXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbiRmb290ZXJfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC04MDAgIWRlZmF1bHQ7XG4kZm9vdGVyX2VkZ2UtZ3V0dGVyOiAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcblxuJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyOiAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi12ZXJ0aWNhbC1vZmZzZXQ6IDJlbSAhZGVmYXVsdDtcblxuJGZvb3Rlcl9zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZ3JheSAhZGVmYXVsdDtcblxuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWhlYWRsaW5lLWxldmVsOiAkZm9udC1zaXplX2hlYWRsaW5lLTQgIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtcGFkZGluZzogJGZvb3Rlcl9zZWN0aW9uLXZlcnRpY2FsLW9mZnNldFxuICAgICRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlciAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS1jb2xvcjogJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtZm9udC1zaXplOiAxLjJlbSAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJGZvb3Rlcl9zZWN0aW9uLXBzZXVkb2ljb24taW5jbHVkZTogdHJ1ZSAhZGVmYXVsdDtcblxuJGZvb3Rlcl9wcm9tby1kaXNwbGF5LW9uLW1vYmlsZTogZmFsc2UgIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28td2lkdGg6IDEzLjVlbSAhZGVmYXVsdDtcbiRmb290ZXJfbG9nby1oZWlnaHQ6IDIuM2VtICFkZWZhdWx0O1xuXG4uI3skbnN9Zm9vdGVyIHtcbiAgICAkcm9vdDogJjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICRmb290ZXJfdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyX2JhY2tncm91bmQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDAgMnJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAkZm9vdGVyX2VkZ2UtZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJvbW8ge1xuICAgICAgICAgICAgQGlmICRmb290ZXJfcHJvbW8tZGlzcGxheS1vbi1tb2JpbGUgPT0gZmFsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saW5rcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXJfc2VjdGlvbi12ZXJ0aWNhbC1vZmZzZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1leHRyYXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNvY2lhbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zdG9yZXMtc3dpdGNoZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24tdGl0bGUsXG4gICAgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIEBpZiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWwgIT0gJ25vbmUnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWhlYWRsaW5lLWxldmVsKTtcbiAgICAgICAgfVxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJGZvb3Rlcl9zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1wYWRkaW5nO1xuICAgICAgICBjb2xvcjogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtdHJhbnNmb3JtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb24tLWNvbGxhcHNpYmxlICYge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpZiAkZm9vdGVyX3NlY3Rpb24tcHNldWRvaWNvbi1pbmNsdWRlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb24tLXNvY2lhbHMgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi1jb250ZW50LFxuICAgIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyICRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uLS1jb2xsYXBzaWJsZSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2hvcC1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogJGZvb3Rlcl9sb2dvLWRpc3BsYXk7XG4gICAgICAgIHdpZHRoOiAkZm9vdGVyX2xvZ28td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGZvb3Rlcl9sb2dvLWhlaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAkZm9vdGVyX2xvZ28td2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbi4jeyRuc31jb250YWluZXIge1xuICAgICYtLWZvb3RlciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1mb290ZXItdXNwcyB7XG4gICAgICAgIC4jeyRuc31pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5jcy1mb290ZXItbGlua3Mge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWZvb3Rlci1saW5rc19faXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgMC4zZW07IH1cbiAgLmNzLWZvb3Rlci1saW5rcyBhLCAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1mb290ZXItbGlua3MgYTpob3ZlciwgLmNzLWZvb3Rlci1saW5rcyBhOmZvY3VzLCAuY3MtZm9vdGVyLWxpbmtzIGE6YWN0aXZlLCAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZDpob3ZlciwgLmNzLWZvb3Rlci1saW5rcyBhOnZpc2l0ZWQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jcy1mb290ZXItbGlua3MgYSwgLmNzLWZvb3Rlci1saW5rcyBhOnZpc2l0ZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNWVtIDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXItbGlua3MgYSwgLmNzLWZvb3Rlci1saW5rcyBhOnZpc2l0ZWQge1xuICAgICAgICBwYWRkaW5nOiAwLjM1ZW0gMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGZvb3Rlci1saW5rc19saXN0LWl0ZW0tbWFyZ2luOiAwIDAgMC4zZW0gIWRlZmF1bHQ7XG5cbiRmb290ZXItbGlua3NfbGluay1mb250LXNpemU6IGluaGVyaXQgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRmb290ZXItbGlua3NfbGluay1ob3Zlci1jb2xvcjogJGZvb3Rlci1saW5rc19saW5rLWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctbW9iaWxlOiAwLjVlbSAwICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctZGVza3RvcDogMC4zNWVtIDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31mb290ZXItbGlua3Mge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogJGZvb3Rlci1saW5rc19saXN0LWl0ZW0tbWFyZ2luO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBsaW5rKFxuICAgICAgICAgICAgJGNvbG9yOiAkZm9vdGVyLWxpbmtzX2xpbmstY29sb3IsXG4gICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRmb290ZXItbGlua3NfbGluay1ob3Zlci1jb2xvcixcbiAgICAgICAgICAgICRkZWNvcmF0aW9uOiAkZm9vdGVyLWxpbmtzX2xpbmstZGVjb3JhdGlvbixcbiAgICAgICAgICAgICRkZWNvcmF0aW9uLWhvdmVyOiAkZm9vdGVyLWxpbmtzX2xpbmstaG92ZXItZGVjb3JhdGlvblxuICAgICAgICApO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItbGlua3NfbGluay1wYWRkaW5nLW1vYmlsZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlci1saW5rc19saW5rLWZvbnQtc2l6ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItbGlua3NfbGluay1wYWRkaW5nLWRlc2t0b3A7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWhlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMmVtIDA7XG4gIG1hcmdpbjogMmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1oZWFkbGluZSB7XG4gICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgLmNzLWhlYWRsaW5lLS1za2lwLXNwYWNpbmcge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyLjZlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkbGluZV9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAuY3MtaGVhZGxpbmVfX3RpdGxlOmJlZm9yZSwgLmNzLWhlYWRsaW5lX190aXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1oZWFkbGluZV9fdGl0bGU6YmVmb3JlLCAuY3MtaGVhZGxpbmVfX3RpdGxlOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAuY3MtaGVhZGxpbmVfX3RpdGxlOmJlZm9yZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtOyB9XG4gICAgLmNzLWhlYWRsaW5lX190aXRsZTphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMC42ZW07IH1cbiAgLmNzLWhlYWRsaW5lX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGxpbmVfX3N1YnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBoZWFkbGluZS1ob29rKCkge1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtdGl0bGUtaG9vaygpIHtcbn1cblxuQG1peGluIGhlYWRsaW5lLXN1YnRpdGxlLWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRsaW5lL21peGluJztcblxuLiN7JG5zfWhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgpO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZS10aXRsZSgpO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUtc3VidGl0bGUoKTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRsaW5lL2hvb2snO1xuXG4kaGVhZGxpbmVfdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV90aXRsZS1mb250LXNpemU6IDIuNmVtICFkZWZhdWx0O1xuJGhlYWRsaW5lX3RpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4vLyBTaG93IGZsZXhpYmxlIGRlY29yYXRpb24gbGluZXMgYXQgdGhlIHNpZGVzIG9mIHRoZSB0aXRsZS5cbiRoZWFkbGluZV90aXRsZS1saW5lcy1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xuJGhlYWRsaW5lX3RpdGxlLWxpbmVzLWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJGhlYWRsaW5lX3N1YnRpdGxlLWNvbG9yOiAkY29sb3JfYm9yZGVyLTcwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS1mb250LXNpemU6IDEuM2VtICFkZWZhdWx0O1xuJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG5AbWl4aW4gaGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nOiAyZW0gMDtcbiAgICBtYXJnaW46IDJlbSAwO1xuXG4gICAgQGluY2x1ZGUgaGVhZGxpbmUtaG9vaygpO1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtdGl0bGUoXG4gICAgJGNvbG9yOiAkaGVhZGxpbmVfdGl0bGUtY29sb3IsXG4gICAgJGZvbnQtc2l6ZTogJGhlYWRsaW5lX3RpdGxlLWZvbnQtc2l6ZSxcbiAgICAkZm9udC13ZWlnaHQ6ICRoZWFkbGluZV90aXRsZS1mb250LXdlaWdodCxcbiAgICAkdGV4dC10cmFuc2Zvcm06ICRoZWFkbGluZV90aXRsZS10ZXh0LXRyYW5zZm9ybSxcbiAgICAkbGluZXMtZW5hYmxlZDogJGhlYWRsaW5lX3RpdGxlLWxpbmVzLWVuYWJsZWQsXG4gICAgJGxpbmVzLWNvbG9yOiAkaGVhZGxpbmVfdGl0bGUtbGluZXMtY29sb3Jcbikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdGV4dC10cmFuc2Zvcm07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQGlmICRsaW5lcy1lbmFibGVkIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluZXMtY29sb3I7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjZlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaGVhZGxpbmUtdGl0bGUtaG9vaygpO1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtc3VidGl0bGUoXG4gICAgJGNvbG9yOiAkaGVhZGxpbmVfc3VidGl0bGUtY29sb3IsXG4gICAgJGZvbnQtc2l6ZTogJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtc2l6ZSxcbiAgICAkZm9udC13ZWlnaHQ6ICRoZWFkbGluZV9zdWJ0aXRsZS1mb250LXdlaWdodCxcbiAgICAkdGV4dC10cmFuc2Zvcm06ICRoZWFkbGluZV9zdWJ0aXRsZS10ZXh0LXRyYW5zZm9ybVxuKSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHRleHQtdHJhbnNmb3JtO1xuICAgIG1hcmdpbjogJGhlYWRsaW5lX3N1YnRpdGxlLW1hcmdpbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaGVhZGxpbmUtc3VidGl0bGUtaG9vaygpO1xufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4gKiBWYXJpYWJsZXMgcmVsYXRlZCB0byBzdGlja3kgaGVhZGVyIGFuZCB0b3BiYXIgb24gbW9iaWxlIGRldmljZXMuXG4gKiB0byBwcmV2ZW50IHBhZ2UganVtcGluZyB3aGVuIG9mZmFjbnZhcyAoZml4ZWQgcG9zaXRpb25lZCkgaXMgb3BlbmVkXG4gKiBJZiB5b3UgaGF2ZSBtb3JlIGVsZW1lbnRzIG9uIHRvcCwgeW91IGhhdmUgdG8gaW5jbHVkZSB0aGVpciBoZWlnaHQuXG4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLWhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4vKipcbiAgICAgKiBTdHlsZXMgcmVsYXRlZCB0byBzdGlja3kgaGVhZGVyIGFuZCB0b3BiYXIgb24gbW9iaWxlIGRldmljZXMuXG4gICAgICogdG8gcHJldmVudCBwYWdlIGp1bXBpbmcgd2hlbiBvZmZhY252YXMgKGZpeGVkIHBvc2l0aW9uZWQpIGlzIG9wZW5lZFxuICAgICAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLm5hdmlnYXRpb24tb2ZmY2FudmFzLW9wZW4gLnBhZ2Utd3JhcHBlci5uby1zY3JvbGwtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAxMXJlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5uYXZpZ2F0aW9uLW9mZmNhbnZhcy1vcGVuIC5wYWdlLXdyYXBwZXIubm8tc2Nyb2xsLWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB6LWluZGV4OiA4MDA7XG4gICAgdG9wOiAwO1xuICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEZpeGVkIHBvc2l0aW9uaW5nIHJlcXVpcmVkIHRvIHdvcmsgd2l0aCBvZmZjYW52YXMgZWxlbWVudHMuXG4gICAgICAgICAgICAgICAgICogQWxzbywgYXMgYSBmYWxsYmFjayBmb3IgSUUgd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBzdGlja3kuXG4gICAgICAgICAgICAgICAgICovIH1cbiAgICAubmF2aWdhdGlvbi1vZmZjYW52YXMtb3Blbi5uby1zY3JvbGwgLmNzLWNvbnRhaW5lci0taGVhZGVyLFxuICAgIC5jcy1jb250YWluZXItLWhlYWRlciAuaWUxMSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAuY3MtY29udGFpbmVyLS1oZWFkZXIge1xuICAgIHRvcDogMDsgfSB9XG5cbi5jcy1oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGhlaWdodDogNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1oZWFkZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDExcmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuY3MtaGVhZGVyIHtcbiAgICAgIGhlaWdodDogMTFyZW07IH0gfVxuICAuY3MtaGVhZGVyX19jb250ZW50IHtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgei1pbmRleDogMzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMXJlbTsgfSB9XG4gIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4OiAwIDEgNHJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAxO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAwIDAuN3JlbSAwLjdyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMy4xMjVlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbSAwIDAuN3JlbSAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5wYWdlLXByaW50IC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgICAgbWF4LXdpZHRoOiAxMTRyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMnJlbSAwOyB9XG4gICAgICAucGFnZS1wcmludCAuY3MtaGVhZGVyX19sb2dvOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtaGVhZGVyIC5oZWFkZXJfd2VsY29tZSAud2VsY29tZSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaGVhZGVyIC5oZWFkZXJfd2VsY29tZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7IH0gfVxuICAgIC5jcy1oZWFkZXJfX3NlYXJjaC0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdG9wOiBpbml0aWFsOyB9IH1cbiAgLmNzLWhlYWRlcl9fdXNlci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4OiAwIDEgMzAlO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fdXNlci1uYXYge1xuICAgICAgICBmbGV4OiAwIDEgMzMlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fdXNlci1uYXYgLmxhbmd1YWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1oZWFkZXJfX2JhY2stYnV0dG9uIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogNHJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMy4xMjVlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2JhY2stYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1oZWFkZXJfX2JhY2stYnV0dG9uLWljb24ge1xuICAgIGZpbGw6ICM4ODg7XG4gICAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjMuMTE1ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2JhY2stYnV0dG9uLWljb24ge1xuICAgICAgICBoZWlnaHQ6IDJyZW07IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRoZWFkZXJfZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGhlYWRlcl9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG5cbiRoZWFkZXJfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4vLyBIb3Jpem9udGFsIGFsaWduIG9mIHRoZSBzZWFyY2hib3ggaWYgaXQncyBkaXNwbGF5ZWQgYXMgYSBsYXllciAtIGAkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludGBcbiRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudDogcmlnaHQ7XG5cbi8vIElmIHlvdSB3YW50IHRvIGNvdmVyICdzZWFyY2gnIGl0ZW0gaW4gaGVhZGVyIGJ5IHNlYXJjaGJveCwgcHJvdmlkZSBwcm9wZXIgbmVnYXRpdmUgbWFyZ2luIGJhc2VkIG9uIHlvdXIgZGVzaWduXG4vLyBJdCB3b3JrcyBvbmx5IGlmICckZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCcgaGFzIHZhbGlkIGJyZWFrcG9pbnQgYW5kIGAkaGVhZGVyX3NlYXJjaGJveC1qdXN0aWZ5LWNvbnRlbnRgID0gZmxleC1lbmRcbiRoZWFkZXJfc2VhcmNoYm94LW1hcmdpbi10by1jb3Zlci1zZWFyY2gtaXRlbTogLTYuOHJlbSAhZGVmYXVsdDtcblxuLy8gQ2hhbmdlIGluIGV0Yy92aWV3LnhtbCBpZiBuZWNlc3NhcnlcbiRoZWFkZXJfaXMtc3RpY2t5LW9uLW1vYmlsZTogZGVlcC1nZXQoXG4kdmlldy14bWwsXG52YXJzLFxuTWFnZW50b19UaGVtZSxcbmhlYWRlcixcbm1vYmlsZV9pc19zdGlja3lcbikgIWRlZmF1bHQ7XG5cbiRoZWFkZXJfc3RpY2t5LXRvcC1wb3NpdGlvbi1tb2JpbGU6IDAgIWRlZmF1bHQ7XG4kaGVhZGVyX3N0aWNreS10b3AtcG9zaXRpb24tdGFibGV0OiAkaGVhZGVyX3N0aWNreS10b3AtcG9zaXRpb24tbW9iaWxlICFkZWZhdWx0O1xuXG4vKipcbiAqIFZhcmlhYmxlcyByZWxhdGVkIHRvIHN0aWNreSBoZWFkZXIgYW5kIHRvcGJhciBvbiBtb2JpbGUgZGV2aWNlcy5cbiAqIHRvIHByZXZlbnQgcGFnZSBqdW1waW5nIHdoZW4gb2ZmYWNudmFzIChmaXhlZCBwb3NpdGlvbmVkKSBpcyBvcGVuZWRcbiAqIElmIHlvdSBoYXZlIG1vcmUgZWxlbWVudHMgb24gdG9wLCB5b3UgaGF2ZSB0byBpbmNsdWRlIHRoZWlyIGhlaWdodC5cbiAqL1xuJHN0aWNreS1oZWFkZXItcGFnZS13cmFwcGVyLW9mZnNldC1tb2JpbGU6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGUgIWRlZmF1bHQ7XG4kc3RpY2t5LWhlYWRlci1wYWdlLXdyYXBwZXItb2Zmc2V0LXRhYmxldDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldCAhZGVmYXVsdDtcblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKFxuJGhlYWRlcl9pcy1zdGlja3ktb24tbW9iaWxlIGFuZCAkZ2xvYmFsX2hlYWRlci1pcy1ib3R0b20tb24tbW9iaWxlICE9IHRydWVcbikge1xuICAgIC8qKlxuICAgICAqIFN0eWxlcyByZWxhdGVkIHRvIHN0aWNreSBoZWFkZXIgYW5kIHRvcGJhciBvbiBtb2JpbGUgZGV2aWNlcy5cbiAgICAgKiB0byBwcmV2ZW50IHBhZ2UganVtcGluZyB3aGVuIG9mZmFjbnZhcyAoZml4ZWQgcG9zaXRpb25lZCkgaXMgb3BlbmVkXG4gICAgICovXG4gICAgLm5hdmlnYXRpb24tb2ZmY2FudmFzLW9wZW4gLnBhZ2Utd3JhcHBlci5uby1zY3JvbGwtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3RpY2t5LWhlYWRlci1wYWdlLXdyYXBwZXItb2Zmc2V0LXRhYmxldDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzdGlja3ktaGVhZGVyLXBhZ2Utd3JhcHBlci1vZmZzZXQtbW9iaWxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgICAgICYtLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDgwMDtcbiAgICAgICAgICAgICAgICB0b3A6ICRoZWFkZXJfc3RpY2t5LXRvcC1wb3NpdGlvbi10YWJsZXQ7XG5cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBGaXhlZCBwb3NpdGlvbmluZyByZXF1aXJlZCB0byB3b3JrIHdpdGggb2ZmY2FudmFzIGVsZW1lbnRzLlxuICAgICAgICAgICAgICAgICAqIEFsc28sIGFzIGEgZmFsbGJhY2sgZm9yIElFIHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgc3RpY2t5LlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIC5uYXZpZ2F0aW9uLW9mZmNhbnZhcy1vcGVuLm5vLXNjcm9sbCAmLFxuICAgICAgICAgICAgICAgIC5pZTExIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAkaGVhZGVyX3N0aWNreS10b3AtcG9zaXRpb24tbW9iaWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9aGVhZGVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGZvbnQtc2l6ZTogJGhlYWRlcl9mb250LXNpemU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICB9ICAgXG5cbiAgICBAaWYgKCRoZWFkZXJfaXMtc3RpY2t5LW9uLW1vYmlsZSkge1xuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgaGVpZ2h0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtZGVza3RvcDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlO1xuICAgICAgICB6LWluZGV4OiAzMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXJfYmFja2dyb3VuZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3OyAgICAgICBcblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGhlaWdodDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoZWFkZXJfYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleDogMCAxIDRyZW07XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1tb2JpbGUtbWVudS1pcy1yaWdodCkge1xuICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMCAwLjdyZW0gMC43cmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9ICAgXG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuN3JlbSAwIDAuN3JlbSAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1wcmludCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFkZXJfd2VsY29tZSB7ICAgICAgICBcbiAgICAgICAgLndlbGNvbWUge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDZweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRmb250X2ZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXJfYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMzAwO1xuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICAgICAgYm90dG9tOiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChcbiAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgYW5kXG4gICAgICAgICRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudCA9PVxuICAgICAgICAnZmxleC1lbmQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGVyX3NlYXJjaGJveC1tYXJnaW4tdG8tY292ZXItc2VhcmNoLWl0ZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50ID09ICdmbGV4LWVuZCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkZXJfc2VhcmNoYm94LW1hcmdpbi10by1jb3Zlci1zZWFyY2gtaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VzZXItbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMCAxIDMwJTtcbiAgICAgICAgZmxleC13cmFwOndyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OmF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgMjUlO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAxIDMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxhbmd1YWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWNrLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogNHJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhY2stYnV0dG9uLWljb24ge1xuICAgICAgICBmaWxsOiAkY29sb3JfYm9yZGVyLTcwMDtcbiAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGVyLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWhlYWRlci1zZWFyY2gge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY3MtaGVhZGVyLXNlYXJjaC0taW4tb2ZmY2FudmFzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2xhYmVsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2ZpZWxkOmJlZm9yZSwgLmNzLWhlYWRlci1zZWFyY2hfX2ZpZWxkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgIGxlZnQ6IC0wLjVyZW07XG4gICAgICByaWdodDogLTAuNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgICAgdG9wOiAtMC41cmVtO1xuICAgICAgYm90dG9tOiAtMC41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcmVtO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgei1pbmRleDogMjA5OyB9XG4gICAgLmFjdGl2ZS1wb3B1cCAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YmVmb3JlLCAuYWN0aXZlLXBvcHVwIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjEwO1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogMC41NWVtIDFlbTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gICAgLmFqYXgtbG9hZGluZyAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6Zm9jdXMgKyAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1zZWFyY2gge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5hamF4LWxvYWRpbmcgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0OmZvY3VzICsgLmNzLWhlYWRlci1zZWFyY2hfX2FjdGlvbiAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWNvbnRhaW5lci0tbG9hZGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2FjdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMjIwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb24ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb246aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzg4ODsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KSwgb3BhY2l0eSAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWNvbnRhaW5lci0tc2VhcmNoIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjdyZW0pOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24gKiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWljb24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC4zcmVtKTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24taWNvbi0tc2VhcmNoIHtcbiAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICBoZWlnaHQ6IDEuNHJlbTsgfVxuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1pY29uLS1zZWFyY2ggcGF0aCB7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWljb24tLWxvYWRlciB7XG4gICAgICBzdHJva2U6ICNmZmY7XG4gICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgaGVpZ2h0OiAzLjJyZW07IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYXV0b2NvbXBsZXRlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gICAgbGVmdDogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2F1dG9jb21wbGV0ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoIDEwMHZoIC0gNXJlbSAtIDEuMjc1ZW0gLSA3cmVtKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19hdXRvY29tcGxldGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGhlYWRlci1zZWFyY2hfZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4vLyBPbiBpT1MgdGhlIHNlYXJjaCBpbnB1dCBoYXMgdG8gYmUgYXQgbGVhc3QgMTZweCBsYXJnZSxcbi8vIG90aGVyd2lzZSBpdCB3aWxsIG5lZWRsZXNzbHkgdHJpZ2dlciBwYWdlIHpvb20gb25jZSB0aGUgaW5wdXQgaXMgZm9jdXNlZC5cbi8vIC0gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjk4OTI2My9kaXNhYmxlLWF1dG8tem9vbS1pbi1pbnB1dC10ZXh0LXRhZy1zYWZhcmktb24taXBob25lXG4vLyAtIGh0dHBzOi8vd3d3LndhcnJlbmNoYW5kbGVyLmNvbS8yMDE5LzA0LzAyL3N0b3AtaXBob25lcy1mcm9tLXpvb21pbmctaW4tb24tZm9ybS1maWVsZHMvXG4kaGVhZGVyLXNlYXJjaF9mb250LXNpemUtbW9iaWxlOiAxLjZyZW0gIWRlZmF1bHQ7XG5cbi8vIFdpZHRoIG9mIHRoZSBzZWFyY2ggZmllbGQuIFdvcmtzIG9ubHkgZm9yIGAkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludGAgYnJlYWtwb2ludCwgaW4gb3RoZXIgY2FzZSBpdCdzIGFsd2F5cyAxMDAlXG4kaGVhZGVyLXNlYXJjaC13aWR0aC1hcy1sYXllcjogMTAwJTtcblxuJGhlYWRlci1zZWFyY2hfY2xvc2UtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfYnV0dG9uLXdpZHRoOiA1cmVtICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfYnV0dG9uLWJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2J1dHRvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC43cmVtKSAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfaWNvbi1zZWFyY2gtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2ljb24tc2VhcmNoLWNvbG9yLWhvdmVyOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9pY29uLWxvYWRlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTAuM3JlbSkgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoX2J1dHRvbi1jb250YWluZXItdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXNcbiAgICAgICAgJHRyYW5zaXRpb24tZWFzaW5nX3Nsb3dkb3duLTkwMCxcbiAgICBvcGFjaXR5IDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfYXV0b2NvbXBsZXRlLWJveC1zaGFkb3c6IDAgNHB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTcpICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfYXV0b2NvbXBsZXRlLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWhlYWRlci1zZWFyY2gge1xuICAgICRyb290OiAmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICB3aWR0aDogJGhlYWRlci1zZWFyY2gtd2lkdGgtYXMtbGF5ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbi1vZmZjYW52YXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICAgICAgICBsZWZ0OiAtMC41cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IC0wLjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXNlYXJjaF9hdXRvY29tcGxldGUtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgICAgICAgICAgdG9wOiAtMC41cmVtO1xuICAgICAgICAgICAgYm90dG9tOiAtMC41cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAtMXJlbTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwOTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC5hY3RpdmUtcG9wdXAgJiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1zZWFyY2hfZm9udC1zaXplLW1vYmlsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyMTA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBwYWRkaW5nOjAuNTVlbSAxZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1zZWFyY2hfZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICArICN7JHJvb3R9X19hY3Rpb24ge1xuICAgICAgICAgICAgICAgIC5hamF4LWxvYWRpbmcgJiB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tY29udGFpbmVyLS1zZWFyY2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAyMjA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgIH1cblxuICAgICZfX2Nsb3NlLWljb24ge1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItc2VhcmNoX2Nsb3NlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiAkaGVhZGVyLXNlYXJjaF9idXR0b24tY29udGFpbmVyLXRyYW5zaXRpb247XG5cbiAgICAgICAgJi0tc2VhcmNoIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxvYWRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGhlYWRlci1zZWFyY2hfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICdvbmx5LWljb24nXG4gICAgICAgICk7XG5cbiAgICAgICAgd2lkdGg6ICRoZWFkZXItc2VhcmNoX2J1dHRvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRoZWFkZXItc2VhcmNoX2J1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybTogJGhlYWRlci1zZWFyY2hfYnV0dG9uLXRyYW5zZm9ybTtcblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06ICRoZWFkZXItc2VhcmNoX2ljb24tdHJhbnNmb3JtO1xuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICB3aWR0aDogMS40cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG5cbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItc2VhcmNoX2ljb24tc2VhcmNoLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbG9hZGVyIHtcbiAgICAgICAgICAgIHN0cm9rZTogJGhlYWRlci1zZWFyY2hfaWNvbi1sb2FkZXItY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19hdXRvY29tcGxldGUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwdmggLSAjeyRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGV9IC0gI3skZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0fSAtXG4gICAgICAgICAgICAgICAgICAgIDdyZW1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkaGVhZGVyLXNlYXJjaF9hdXRvY29tcGxldGUtYm94LXNoYWRvdztcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXg6IDAgMSAzMCU7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxleDogMCAxIDMzJTsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLWxhbmd1YWdlIHtcbiAgICAgIGZsZXg6IDAgMSAzMyU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbms6aG92ZXIgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiBwYXRoIHtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluazpob3ZlciAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluay0tc2VhcmNoOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW4tdG9wOiAwLjNyZW0gIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgICAgIGNsaXA6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH0gfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIHBhZGRpbmc6IDAgMC42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGhlaWdodDogMS44ZW07XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0wLjVyZW07XG4gICAgdG9wOiAtMC41cmVtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyIHtcbiAgICAgICAgcmlnaHQ6IC0xcmVtOyB9IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0td2lzaGxpc3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLW1pbmljYXJ0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNDFmMTI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS1jb21wYXJlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS1oYXZlLWl0ZW1zIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItc3BhbiB7XG4gICAgbWluLXdpZHRoOiAxY2g7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2IC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLWNoZWNrb3V0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBxdHktY291bnRlcl9ob29rKCR0eXBlKSB7XG59XG5cbkBtaXhpbiBxdHktY291bnRlcl90eXBlLWhvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3NwYW4taG9vaygkdHlwZSkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9xdHktY291bnRlci9taXhpbic7XG5cbiRoZWFkZXItdXNlci1uYXZfaXRlbXM6IDMgIWRlZmF1bHQ7IC8vIG51bWJlciBvZiBpdGVtcyBpbiBoZWFkZXIgdXNlciBuYXYgKHdpdGhvdXQgc2VhcmNoIGl0ZW0pXG5cbiRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yLWhvdmVyOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2ljb24td2lkdGg6IDJyZW07XG4kaGVhZGVyLXVzZXItbmF2X2ljb24taGVpZ2h0OiAkaGVhZGVyLXVzZXItbmF2X2ljb24td2lkdGg7XG5cbi8vIFNldCB1cCB3aGVuIGxhYmVsIGluIGhlYWRlciB1c2VyIG5hdiBzaG91bGQgYmUgdmlzaWJsZVxuLy8gU3VwcG9ydGVkIHZhbHVlczogdHJ1ZSAoYWx3YXlzKSB8IGZhbHNlIChuZXZlcikgfCBicmVha3BvaW50XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLXZpc2libGU6ICc+PXRhYmxldCcgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtc2l6ZTogMS4zcmVtO1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnk7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLW1hcmdpbi10b3A6IDAuM3JlbSAhZGVmYXVsdDtcblxuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1jb21wYXJlLXNob3ctZW1wdHk6IGZhbHNlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci13aXNobGlzdC1zaG93LWVtcHR5OiBmYWxzZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItbWluaWNhcnQtc2hvdy1lbXB0eTogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLWFuaW1hdGlvbi1zaG93OiB0cnVlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1hbmltYXRpb24tdGltZTogJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lICFkZWZhdWx0O1xuXG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXRvcC1vZmZzZXQ6IC0wLjVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC1tb2JpbGU6IC0wLjVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC10YWJsZXQ6IC0xcmVtICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtZGVza3RvcDogLTFyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31oZWFkZXItdXNlci1uYXYge1xuICAgICRyb290OiAmO1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4OiAwIDEgMzAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgLy9wYWRkaW5nOiAwIDAuN3JlbTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBmbGV4OiAwIDEgMzMlO1xuXHQmLS1sYW5ndWFnZSB7XG5cdFx0ZmxleDogMCAxIDMzJTtcblx0fVxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgPT0gdHJ1ZVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogJGhlYWRlci11c2VyLW5hdl9pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItdXNlci1uYXZfaWNvbi1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLW1hcmdpbi10b3AgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGlmICgkaGVhZGVyLXVzZXItbmF2X2xhYmVsLXZpc2libGUgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRoZWFkZXItdXNlci1uYXZfbGFiZWwtdmlzaWJsZSA9PSBmYWxzZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKFxuXG4gICAgICAgICAgICApOyAvLyBMYWJlbCBpcyBub3QgZGlzcGxheWVkIG9uIHNjcmVlbiBidXQgYWNjZXNzaWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skaGVhZGVyLXVzZXItbmF2X2xhYmVsLXZpc2libGV9KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktdmlzaWJsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXR5LWNvdW50ZXIge1xuICAgICAgICBAaW5jbHVkZSBxdHktY291bnRlcigpO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6ICRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LW1vYmlsZTtcbiAgICAgICAgdG9wOiAkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXRvcC1vZmZzZXQ7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgQGlmIChcbiAgICAgICAgJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtbW9iaWxlICE9XG4gICAgICAgICRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LXRhYmxldFxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtdGFibGV0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChcbiAgICAgICAgJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtdGFibGV0ICE9XG4gICAgICAgICRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LWRlc2t0b3BcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtZGVza3RvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1hbmltYXRpb24tc2hvdykge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLWFuaW1hdGlvbi10aW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0td2lzaGxpc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfdHlwZSgnd2lzaGxpc3QnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1pbmljYXJ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3R5cGUoJ21pbmljYXJ0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb21wYXJlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3R5cGUoJ2NvbXBhcmUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhdmUtaXRlbXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVtcHR5IHtcbiAgICAgICAgICAgICYjeyRyb290fV9fcXR5LWNvdW50ZXItLXdpc2hsaXN0IHtcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItd2lzaGxpc3Qtc2hvdy1lbXB0eSkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiN7JHJvb3R9X19xdHktY291bnRlci0tbWluaWNhcnQge1xuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1taW5pY2FydC1zaG93LWVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI3skcm9vdH1fX3F0eS1jb3VudGVyLS1jb21wYXJlIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItY29tcGFyZS1zaG93LWVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXR5LWNvdW50ZXItc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3NwYW4oKTtcbiAgICB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tY2hlY2tvdXR7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfSAgICAgICBcbiAgICB9XG59XG5cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9xdHktY291bnRlci9ob29rJztcblxuJHF0eS1jb3VudGVyX2ZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2hlaWdodDogMS44ZW0gIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfcGFkZGluZzogMCAwLjZyZW0gIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfYm9yZGVyOiAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2JvcmRlci1yYWRpdXM6IDAuMnJlbSAhZGVmYXVsdDtcblxuJHF0eS1jb3VudGVyLS1kZWZhdWx0LWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktY291bnRlci0tZGVmYXVsdC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kcXR5LWNvdW50ZXItLW1pbmljYXJ0LWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXItLW1pbmljYXJ0LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlci0tY29tcGFyZS1iYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktY291bnRlci0tY29tcGFyZS1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuXG4kcXR5LWNvdW50ZXItLXdpc2hsaXN0LWJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnktNTAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyLS13aXNobGlzdC1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuXG5AbWl4aW4gcXR5LWNvdW50ZXIoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktY291bnRlci0tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkcXR5LWNvdW50ZXItLWRlZmF1bHQtY29sb3I7XG4gICAgYm9yZGVyOiAkcXR5LWNvdW50ZXJfYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRxdHktY291bnRlcl9ib3JkZXItcmFkaXVzO1xuICAgIHBhZGRpbmc6ICRxdHktY291bnRlcl9wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogJHF0eS1jb3VudGVyX2ZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBmb250LXdlaWdodDogJHF0eS1jb3VudGVyX2ZvbnQtd2VpZ2h0O1xuICAgIGhlaWdodDogJHF0eS1jb3VudGVyX2hlaWdodDtcbiAgICAvLyBQcmV2ZW50IElFMTEgYW5kIEVkZ2UgYnVnIHdpdGggYmFja2dyb3VuZCBhbmQgcm91bmQgYm9yZGVyc1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgICBAaW5jbHVkZSBxdHktY291bnRlcl9ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3R5cGUoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIEBpZiAoJHR5cGUgPT0gJ3dpc2hsaXN0Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWNvdW50ZXItLXdpc2hsaXN0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkcXR5LWNvdW50ZXItLXdpc2hsaXN0LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ21pbmljYXJ0Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWNvdW50ZXItLW1pbmljYXJ0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkcXR5LWNvdW50ZXItLW1pbmljYXJ0LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2NvbXBhcmUnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktY291bnRlci0tY29tcGFyZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJHF0eS1jb3VudGVyLS1jb21wYXJlLWNvbG9yO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3R5cGUtaG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBxdHktY291bnRlcl9zcGFuKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBtaW4td2lkdGg6IDFjaDtcblxuICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3NwYW4taG9vaygkdHlwZSk7XG59XG4iLCIubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmcsXG4uc3dpcGVyLWxhenkge1xuICAgIC8vIEFkZGVkIHRvIHByZXZlbnQgbGF6eVNpemVzIGZyb20gZGVsYXlpbmcgaW1hZ2VzIGxvYWQuXG4gICAgb3BhY2l0eTogMC4wMDE7XG59XG5cbi5sYXp5bG9hZGVkLFxuLnN3aXBlci1sYXp5LWxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9uIC5jcy1saW5rcy1ibG9jay1hZGR0byB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvLS1jZW50ZXJlZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0gKyAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbTpudGgtY2hpbGQoMm4pIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24ge1xuICAgIHdpZHRoOiAxLjM3NWVtO1xuICAgIGhlaWdodDogMS4zNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICM4ODg7IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24tLXdpc2hsaXN0IHBhdGgge1xuICAgICAgZmlsbDogI2U0MWYxMjsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbi0tY29tcGFyZSBwYXRoIHtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kbGlua3MtYmxvY2stYWRkdG9fd2lzaGxpc3QtaWNvbi1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19jb21wYXJlLWljb24tY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9fY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19ob3Zlci1jb2xvcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlciAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19pY29uLXdpZHRoOiAxLjM3NWVtICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24taGVpZ2h0OiAxLjM3NWVtICFkZWZhdWx0O1xuXG4uI3skbnN9bGlua3MtYmxvY2stYWRkdG8ge1xuICAgICRyb290OiAmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgLiN7JG5zfXByb2R1Y3QtdGlsZV9fYWRkb24gJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICYtLWNlbnRlcmVkIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICArICN7JHJvb3R9X19pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkbGlua3MtYmxvY2stYWRkdG9fZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGxpbmtzLWJsb2NrLWFkZHRvX2hvdmVyLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGxpbmtzLWJsb2NrLWFkZHRvX2hvdmVyLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkbGlua3MtYmxvY2stYWRkdG9faWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkbGlua3MtYmxvY2stYWRkdG9faWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC40cmVtO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yX2dyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXNobGlzdCB7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkbGlua3MtYmxvY2stYWRkdG9fd2lzaGxpc3QtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbXBhcmUge1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGxpbmtzLWJsb2NrLWFkZHRvX2NvbXBhcmUtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1sb2dvX19pbWFnZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDE4MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWxvZ29fX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAxMzBweDsgfSB9XG4gIC5jcy1sb2dvX19pbWFnZS0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jaGVja291dC1pbmRleC1pbmRleCAuY3MtbG9nb19faW1hZ2UtLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWxvZ29fX2ltYWdlLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY3MtbG9nb19faW1hZ2UtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWxvZ29fX2ltYWdlLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLmNzLWxvZ29fX2ltYWdlLS1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4uI3skbnN9bG9nbyB7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gRml4ZXMgaGVpZ2h0OiBhdXRvIGJ1ZyBvbiBjaHJvbWUuXG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOjEzMHB4O1xuICAgICAgICB9ICAgXG4gICAgICAgIFxuICAgICAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIC5jaGVja291dC1pbmRleC1pbmRleCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNoZWNrb3V0LWluZGV4LWluZGV4ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5tZXNzYWdlcyB7XG4gIG1heC13aWR0aDogMTE0cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UsXG4ubWVzc2FnZSB7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBwYWRkaW5nOiAxLjJyZW0gMXJlbSAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEuMnJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMnJlbSAycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDQuM3JlbTsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UtLXN1Y2Nlc3MsXG4ubWVzc2FnZS5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZWZkNztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24tc3VjY2Vzcy5zdmdcIik7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UtLW5vdGljZSxcbi5tZXNzYWdlLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmNGNhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi13YXJuaW5nLnN2Z1wiKTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZS0taW5mbyxcbi5tZXNzYWdlLmluZm8sXG4ubWVzc2FnZS5ub3RpY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmNGNhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1pbmZvLnN2Z1wiKTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZS0tZXJyb3IsXG4ubWVzc2FnZS5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQwY2U7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLWVycm9yLnN2Z1wiKTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5jcy1tZXNzYWdlc19fdGV4dCxcbi5tZXNzYWdlIHNwYW4ge1xuICBjb2xvcjogIzY5Njk2OTtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuLmNzLW1lc3NhZ2VzLS1zcGFjZS10b3Age1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJG1lc3NhZ2VzX3N1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3MtMjAwICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2luZm8tYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3dhcm5pbmctMjAwICFkZWZhdWx0O1xuJG1lc3NhZ2VzX25vdGljZS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfd2FybmluZy0yMDAgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfZXJyb3ItYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2Vycm9yLTIwMCAhZGVmYXVsdDtcblxuJG1lc3NhZ2VzX3N1Y2Nlc3MtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2luZm8tYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJG1lc3NhZ2VzX25vdGljZS1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfZXJyb3ItYm9yZGVyOiBub25lICFkZWZhdWx0O1xuXG4kbWVzc2FnZXNfYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRtZXNzYWdlc19wYWRkaW5nOiAxLjJyZW0gMXJlbSAxcmVtICFkZWZhdWx0O1xuJG1lc3NhZ2VzX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRtZXNzYWdlX2ljb24td2lkdGg6IDJyZW0gIWRlZmF1bHQ7XG4kbWVzc2FnZV9pY29uLWhlaWdodDogJG1lc3NhZ2VfaWNvbi13aWR0aCAhZGVmYXVsdDtcblxuLm1lc3NhZ2VzIHtcbiAgICBtYXgtd2lkdGg6ICRwYWdlX21heC13aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLFxuLm1lc3NhZ2Uge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHBhZGRpbmc6ICRtZXNzYWdlc19wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRtZXNzYWdlc19ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS4ycmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRtZXNzYWdlX2ljb24td2lkdGggJG1lc3NhZ2VfaWNvbi1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjNyZW07XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0tc3VjY2Vzcyxcbi5tZXNzYWdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlc19zdWNjZXNzLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1zdWNjZXNzLnN2ZycpO1xuICAgIGJvcmRlcjogJG1lc3NhZ2VzX3N1Y2Nlc3MtYm9yZGVyO1xufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UtLW5vdGljZSxcbi5tZXNzYWdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlc19ub3RpY2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLXdhcm5pbmcuc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfbm90aWNlLWJvcmRlcjtcbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLS1pbmZvLFxuLm1lc3NhZ2UuaW5mbyxcbi5tZXNzYWdlLm5vdGljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX2luZm8tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLWluZm8uc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfaW5mby1ib3JkZXI7XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0tZXJyb3IsXG4ubWVzc2FnZS5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX2Vycm9yLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1lcnJvci5zdmcnKTtcbiAgICBib3JkZXI6ICRtZXNzYWdlc19lcnJvci1ib3JkZXI7XG59XG5cbi4jeyRuc31tZXNzYWdlc19fdGV4dCxcbi5tZXNzYWdlIHNwYW4ge1xuICAgIGNvbG9yOiAkbWVzc2FnZXNfdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLiN7JG5zfW1lc3NhZ2VzIHtcbiAgICAkcm9vdDogJjtcblxuICAgICYtLXNwYWNlLXRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbi5jcy1taW5pY2FydF9fY2xvc2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0xLjVyZW07XG4gIHdpZHRoOiA1cmVtO1xuICBoZWlnaHQ6IDVyZW07XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcmlnaHQ6IDAuNXJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlOmZvY3VzLCAuY3MtbWluaWNhcnRfX2Nsb3NlOmFjdGl2ZSwgLmNzLW1pbmljYXJ0X19jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5jcy1taW5pY2FydF9fY2xvc2UtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgbGVmdDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmhvdmVyOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmhvdmVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2OTY5OyB9XG4gIC5jcy1taW5pY2FydF9fY2xvc2UtaWNvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1taW5pY2FydF9fY2xvc2UtaWNvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb246YmVmb3JlLCAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb246YWZ0ZXIge1xuICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSAhaW1wb3J0YW50OyB9XG4gIC5jcy1taW5pY2FydF9fY2xvc2UtaWNvbjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgwKSAhaW1wb3J0YW50OyB9XG5cbi5jcy1taW5pY2FydF9fY2xvc2UtdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi5jcy1taW5pY2FydF9fdGl0bGUtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogIzJkM2U1MDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cblxuLmNzLW1pbmljYXJ0X19pdGVtcy10b3RhbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jcy1taW5pY2FydF9faXRlbXMtdG90YWw6bm90KC5jcy1taW5pY2FydF9faXRlbXMtdG90YWwtLWVtcHR5KTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAuY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsOm5vdCguY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsLS1lbXB0eSk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuICAuY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsLS1lbXB0eSAuY291bnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNzLW1pbmljYXJ0X19lZGl0LWxpbmsge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jcy1taW5pY2FydF9fZWRpdC1saW5rIC5jcy1saW5rX19pY29uIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAxcmVtOyB9XG5cbi5jcy1taW5pY2FydF9fY29udGVudCB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLW1pbmljYXJ0X19jb250ZW50IC5sb2FkLmluZGljYXRvcjpiZWZvcmUge1xuICAgIGhlaWdodDogdW5zZXQ7IH1cblxuLmNzLW1pbmljYXJ0X19saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtbWluaWNhcnRfX2xpc3QtLXNjcm9sbCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM2cmVtKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fbGlzdC0tc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM4cmVtKTsgfVxuICAgICAgICAuaXMtdGFibGV0IC5jcy1taW5pY2FydF9fbGlzdC0tc2Nyb2xsIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDNyZW0pOyB9IH1cblxuLmNzLW1pbmljYXJ0X19saXN0LWl0ZW0ge1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5jcy1taW5pY2FydF9fYWN0aW9ucy13cmFwcGVyIHtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuICBib3gtc2hhZG93OiAwIC01cHggNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjI3KTsgfVxuXG4uY3MtbWluaWNhcnRfX2FjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5jcy1taW5pY2FydF9fYWN0aW9uczpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uY3MtbWluaWNhcnRfX2VtcHR5IHtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNzLW1pbmljYXJ0X19zdWJ0b3RhbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuXG4uY3MtbWluaWNhcnRfX3N1YnRvdGFsLXByaWNlIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMi4xcmVtICFpbXBvcnRhbnQ7IH1cblxuLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXIsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmZvY3VzLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpiZWZvcmUsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvdHRvbTogLTFweDtcbiAgICByaWdodDogLTFweDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICMyZDNlNTAgMCUsICMyZDNlNTAgMTAwJSk7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWZ0ZXIge1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXI6YWZ0ZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0W2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQtc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyB9XG5cbi5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OjpiZWZvcmUsIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0LCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydC1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cblxuLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIG1hcmdpbjogM3JlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOjpiZWZvcmUsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWxbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbC1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cblxuLmNzLW1pbmljYXJ0X19tZXNzYWdlcyB7XG4gIHBhZGRpbmc6IDAgMnJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY3MtbWluaWNhcnQtb2ZmY2FudmFzX193cmFwcGVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbi5jcy1taW5pY2FydF9fY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwOyB9XG4gIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXItLXJlYWR5IC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtY29udGFpbmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiBjYWxjKDQwcmVtICsgMnJlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDQwcmVtICsgKDIgKiAycmVtKSkpO1xuICAgIG1heC13aWR0aDogMTIwcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLmRyYXdlci0tdmlzaWJsZSAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLmllMTEgLmRyYXdlci0tdmlzaWJsZSAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC13cmFwcGVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDQwcmVtICsgKDIgKiAycmVtKSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDQwcmVtICsgKDQgKiAycmVtKSkpOyB9IH1cbiAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXIgLmNzLWhlYWRsaW5lIHtcbiAgICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgICBwYWRkaW5nOiAycmVtIDAgMDsgfVxuICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXNwaW5uZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMTFyZW07XG4gICAgaGVpZ2h0OiAxMXJlbTtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluOyB9XG4gICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC13cmFwcGVyLS1sb2FkaW5nIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtc3Bpbm5lciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5taW5pY2FydC13cmFwcGVyIC51aS1kaWFsb2cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcblxuJG1pbmljYXJ0LW9mZmNhbnZhczogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DaGVja291dCxcbiAgICBtaW5pY2FydF9vZmZjYW52YXMsXG4gICAgZW5hYmxlZFxuKSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LW9mZmNhbnZhcy1jYXJvdXNlbDogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DaGVja291dCxcbiAgICBtaW5pY2FydF9vZmZjYW52YXMsXG4gICAgcHJvZHVjdHNfY2Fyb3VzZWwsXG4gICAgZW5hYmxlZFxuKSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X29mZmNhbnZhcy13cmFwcGVyOiAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1wYWRkaW5nOiAxLjVyZW0gMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtdGl0bGUtcGFkZGluZzogMXJlbSAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1pdGVtLXBhZGRpbmc6IDEuNXJlbSAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcjogZmFsc2UgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLW9mZnNldC1pcGhvbmUtZml4OiA0MHJlbSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X19jbG9zZS1pbmNsdWRlLXBzZXVkb2ljb246IHRydWUgIWRlZmF1bHQ7XG4kbWluaWNhcnRfX2Nsb3NlLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X19jbG9zZS1saW5lLXdpZHRoOiAwLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfX2Nsb3NlLWNvbG9yOiAkY29sb3JfdGV4dC02MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfX2Nsb3NlLWNvbG9yLWhvdmVyOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nOiAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbjogJ2NlbnRlcicgIWRlZmF1bHQ7IC8vIERlZmF1bHQgdmFsdWU6IGNlbnRlci4gUG9zc2libGUgdmFsdWVzOiBjZW50ZXIgLyB0b3AgLyBib3R0b21cbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24tb2Zmc2V0OiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmcgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1wb3NpdGlvbjogJ2NlbnRlcicgIWRlZmF1bHQ7IC8vIERlZmF1bHQgdmFsdWU6IGNlbnRlci4gUG9zc2libGUgdmFsdWVzOiBjZW50ZXIgLyBsZWZ0IC8gcmlnaHRcbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tc3BhY2luZzogM3JlbSAhZGVmYXVsdDtcbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSBlYXNlLWluICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU6IDExcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfcGFkZGluZzogMnJlbSAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfY2xvc2UtYnV0dG9uLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2l0ZW0taGVhZGxpbmUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydF9pdGVtLXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRtaW5pY2FydF9ib3gtc2hhZG93OiAwIDAgMjFweCAwIHJnYmEoJGNvbG9yX2JhY2tncm91bmQtODAwLCAwLjI3KSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X3dpZHRoOiA0MHJlbSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X2NvbnRlbnQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2FjdGlvbi13cmFwcGVyX2JveC1zaGFkb3c6IDAgLTVweCA1cHggLTVweFxuICAgIHJnYmEoJGNvbG9yX2JhY2tncm91bmQtODAwLCAwLjI3KSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRtaW5pY2FydF9idXR0b24tdmlld2NhcnQtaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuLiN7JG5zfW1pbmljYXJ0IHtcbiAgICAkcm9vdDogJjtcblxuICAgICZfX2Nsb3NlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMS41cmVtO1xuICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZS1pY29uIHtcbiAgICAgICAgQGlmICgkbWluaWNhcnRfX2Nsb3NlLWluY2x1ZGUtcHNldWRvaWNvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRtaW5pY2FydF9fY2xvc2UtY29sb3IsXG4gICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkbWluaWNhcnRfX2Nsb3NlLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICR3aWR0aDogJG1pbmljYXJ0X19jbG9zZS13aWR0aCxcbiAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkbWluaWNhcnRfX2Nsb3NlLWxpbmUtd2lkdGhcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmX19jbG9zZS10ZXh0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X3BhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnRfaXRlbS1oZWFkbGluZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLXRpdGxlLXBhZGRpbmc7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbWluaWNhcnRfaXRlbS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtcy10b3RhbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cbiAgICAgICAgJjpub3QoI3skcm9vdH1fX2l0ZW1zLXRvdGFsLS1lbXB0eSkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgLmNvdW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTUwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lZGl0LWxpbmsge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIC4jeyRuc31saW5rX19pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtaW5pY2FydF9jb250ZW50LWJhY2tncm91bmQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubG9hZC5pbmRpY2F0b3I6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmLS1zY3JvbGwge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzZyZW0pO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzOHJlbSk7XG5cbiAgICAgICAgICAgICAgICAuaXMtdGFibGV0ICYge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDNyZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydF9vZmZjYW52YXMtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIC8qIGlQaG9uZSBYIGFuZCBYcyBNYXggKi9cbiAgICAgICAgICAgICAgICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gXG4gICAgICAgICAgICAgICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgXG4gICAgICAgICAgICAgICAgYW5kIChtaW4tZGV2aWNlLWhlaWdodDogODEycHgpIFxuICAgICAgICAgICAgICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpXG4gICAgICAgICAgICAgICAgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG1pbmljYXJ0X29mZmNhbnZhcy1vZmZzZXQtaXBob25lLWZpeH0pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogaVBob25lIFhSICovXG4gICAgICAgICAgICAgICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIFxuICAgICAgICAgICAgICAgIGFuZCAobWluLWRldmljZS13aWR0aDogNDE0cHgpIFxuICAgICAgICAgICAgICAgIGFuZCAobWluLWRldmljZS1oZWlnaHQ6IDg5NnB4KSBcbiAgICAgICAgICAgICAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSBcbiAgICAgICAgICAgICAgICBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbWluaWNhcnRfb2ZmY2FudmFzLW9mZnNldC1pcGhvbmUtZml4fSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfaXRlbS1wYWRkaW5nO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbWluaWNhcnRfaXRlbS1ib3JkZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLWl0ZW0tcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9wYWRkaW5nO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy1wYWRkaW5nO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJG1pbmljYXJ0X2FjdGlvbi13cmFwcGVyX2JveC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lbXB0eSB7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9wYWRkaW5nO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fc3VidG90YWwge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgfVxuXG4gICAgJl9fc3VidG90YWwtcHJpY2Uge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWNoZWNrb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tdmlld2NhcnQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tdmlld2NhcnQtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tdmlld2NhcnQtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1jYXJvdXNlbCB7XG4gICAgICAgICYtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tc3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbjogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tc3BhY2luZyAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tYm9yZGVyO1xuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tcG9zaXRpb24gPT0gJ2xlZnQnIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXBvc2l0aW9uID09ICdyaWdodCcge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICYtb2ZmY2FudmFzX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy13cmFwcGVyO1xuICAgIH1cbn1cblxuQGlmICRtaW5pY2FydC1vZmZjYW52YXMgYW5kICRtaW5pY2FydC1vZmZjYW52YXMtY2Fyb3VzZWwge1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgIC4jeyRuc31taW5pY2FydF9fY2Fyb3VzZWwge1xuICAgICAgICAkcm9vdDogJjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAjeyRyb290fS13cmFwcGVyLS1yZWFkeSAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCN7JG1pbmljYXJ0X3dpZHRofSArICN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nfSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICgjeyRtaW5pY2FydF93aWR0aH0gKyAoMiAqICN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nfSkpKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICBAYXQtcm9vdCAuZHJhd2VyLS12aXNpYmxlICYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGF0LXJvb3QgLmllMTEgLmRyYXdlci0tdmlzaWJsZSAmIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoI3skbWluaWNhcnRfd2lkdGh9ICsgKDIgKiAjeyRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZ30pKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICgjeyRtaW5pY2FydF93aWR0aH0gKyAoNCAqICN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nfSkpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24gPT0gJ3RvcCcge1xuICAgICAgICAgICAgICAgIHRvcDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbi1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbiA9PSAnYm90dG9tJyB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbi1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JG5zfWhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtc3Bpbm5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3Bpbm5lci1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nIDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtdHJhbnNpdGlvbjtcblxuICAgICAgICAgICAgI3skcm9vdH0td3JhcHBlci0tbG9hZGluZyAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLiN7JG5zfXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIC4jeyRuc31taW5pY2FydF9fY2Fyb3VzZWwge1xuICAgICAgICAmLXNwaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICRtaW5pY2FydC1vZmZjYW52YXMgIT0gdHJ1ZSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgICAgICAudWktZGlhbG9nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oZWlnaHQtZGVza3RvcCA+ICRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skZ2xvYmFsX2hlYWRlci1oZWlnaHQtZGVza3RvcH0gLSAjeyRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIC8gMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stbWluaWNhcnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X2JhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWluaWNhcnRfYm94LXNoYWRvdztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAzMXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbWluaWNhcnRfd2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgdG9wOiAtMC44cmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IEBlbHNlIHtcbiAgICAubWluaWNhcnQtd3JhcHBlciB7XG4gICAgICAgIC51aS1kaWFsb2cge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi5jcy1taW5pY2FydC1wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9faW1hZ2UtY29udGFpbmVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9faW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2ltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vdmVydmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2JyYW5kLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2JyYW5kIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzg4ODsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZS13cmFwcGVyIHtcbiAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZS13cmFwcGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogNzAlOyB9IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lOnZpc2l0ZWQsIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19pdGVtLXByaWNpbmcge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3ByaWNlIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcHJpY2UgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3ByaWNlLWxhYmVsLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IC0wLjRyZW07XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtZ3JvdXAtLXF0eSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXdyYXBwZXIgKyAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1ncm91cC0tcXR5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1sYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnOic7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy12YWx1ZV9fdmFsdWUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy12YWx1ZV9fdmFsdWUgLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEuMnJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHksXG4gIC5jcy1taW5pY2FydC1wcm9kdWN0IC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMCA5cmVtO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIG1heC13aWR0aDogNHJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWlucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24sIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24gKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24tc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuMWVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb246aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICosXG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb246aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi1pY29uICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlOmhvdmVyIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyAqLFxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZTpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWljb24gKiB7XG4gICAgZmlsbDogIzJkM2U1MDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWljb24ge1xuICAgIHdpZHRoOiAxLjZyZW07XG4gICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcgKiB7XG4gICAgZmlsbDogIzJkM2U1MDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWxhYmVsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlOmhvdmVyIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyAqIHtcbiAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyAqIHtcbiAgICBmaWxsOiAjMmQzZTUwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NoZWNrb3V0LFxuICAgIG1pbmljYXJ0X29mZmNhbnZhcyxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3ItaG92ZXI6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3ItLWhvdmVyOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWFsaWdubWVudDogbGVmdCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3Rfb3ZlcnZpZXctZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9uYW1lLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9uYW1lLWNvbG9yLWhvdmVyOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9uYW1lLXBhZGRpbmc6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9ucy10aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtNjAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtbGFiZWwtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtdmFsdWUtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnNfdG9nZ2xlLXBhZGRpbmc6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnNfdG9nZ2xlLWRpc2FibGU6IGZhbHNlICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy10aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X29wdGlvbnMtdGl0bGUtZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Rfb3B0aW9ucy1sYWJlbC1mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tc2l6ZTogMnJlbSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3RfcHJpY2UtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWVuYWJsZTogdHJ1ZSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9xdHktZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi1pY29uLXBvczogJ29ubHktaWNvbicgIWRlZmF1bHQ7XG5cbi4jeyRuc31taW5pY2FydC1wcm9kdWN0IHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmX19pbWFnZS1jb250YWluZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICZfX292ZXJ2aWV3IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYnJhbmQtd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246ICRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWFsaWdubWVudDtcbiAgICB9XG5cbiAgICAmX19icmFuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fbmFtZS13cmFwcGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogNTUlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1wYWRkaW5nO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X292ZXJ2aWV3LWZvbnQtc2l6ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLWZvbnQtd2VpZ2h0O1xuXG4gICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tcHJpY2luZyB7XG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X3ByaWNlLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlLWxhYmVsLFxuICAgICZfX29wdGlvbnMtc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX29wdGlvbnMtdGl0bGUge1xuICAgICAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnNfdG9nZ2xlLWRpc2FibGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICAgICAgICAgICAgPiAjeyRyb290fV9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy10aXRsZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZVxuICAgICAgICAgICAgJHRyYW5zaXRpb24tZWFzaW5nX3Nsb3dkb3duLTkwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmX19vcHRpb25zLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuNHJlbTtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9uc190b2dnbGUtcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICYtLXF0eSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19vcHRpb25zLXdyYXBwZXIgKyAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnNfdG9nZ2xlLWRpc2FibGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLXZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtdmFsdWUtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICZfX3ZhbHVlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfcHJpY2UtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnNfdG9nZ2xlLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0X3F0eS1lbmFibGUpIHtcbiAgICAgICAgJl9fcXR5LFxuICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAwIDlyZW07XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWlucHV0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktYnV0dG9uLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJl9fcXR5LFxuICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLFxuICAgICZfX29wdGlvbnMtdGl0bGUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19vcHRpb25zLXRpdGxlLXN2ZyxcbiAgICAgICAgICAgICN7JHJvb3R9X19hY3Rpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgd2lkdGg6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1pY29uLFxuICAgICZfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgKiB7XG4gICAgICAgICAgICBmaWxsOiAkbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgJl9fb3B0aW9ucy10aXRsZSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtIDJyZW07XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2NlbGwge1xuICBwYWRkaW5nLXRvcDogMS40cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX190b3RhbC1sZWZ0LXRleHQgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX190b3RhbC1mdWxmaWxsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24tc3VjY2Vzcy5zdmdcIikgMCA1MCUgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDJyZW07IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItbGFiZWwge1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6ICMzN2I4NDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItbGFiZWwtLXN0YXJ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItbGFiZWwtLWVuZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycmVtO1xuICBwYWRkaW5nOiAwLjRyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiMGIwYjA7XG4gIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1wcm9ncmVzcy13cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLXByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDtcbiAgYmFja2dyb3VuZDogIzM3Yjg0MTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjU1cyBjdWJpYy1iZXppZXIoMCwgMC42NiwgMC4zMiwgMC45OSk7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAzLjRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luOiAwIDAgMCAyLjVyZW07XG4gIGZpbGw6ICM4ODg7XG4gIHRyYW5zaXRpb246IGZpbGwgMC4zczsgfVxuICAuY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci13cmFwcGVyLS1mcmVlLXNoaXBwaW5nLWFjdGl2ZSAuY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2ljb24ge1xuICAgIGZpbGw6ICMzN2I4NDE7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfcGFkZGluZzogMS41cmVtIDJyZW0gMnJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9zZXBhcmF0b3I6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3ByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mdWxmaWxsZWQtaWNvbi11cmw6ICcuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1zdWNjZXNzLnN2ZycgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZnVsZmlsbGVkLWljb24tc2l6ZTogMnJlbSAhZGVmYXVsdDsgLy8gYmFja2dyb3VuZC1zaXplIGZvcm1hdCAoMnJlbSAxcmVtIG9yIDJyZW0gPT09IDJyZW0gMnJlbSlcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1zcGFjaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcGFkZGluZzogMC40cmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3Jfc2lsdmVyLWNoYWxpY2UgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgKiAxLjQgIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3Mtd3JhcHBlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy10cmFuc2l0aW9uOiB3aWR0aCAwLjU1c1xuICAgICR0cmFuc2l0aW9uLWVhc2luZ19zbG93ZG93bi05MDAgIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLXdpZHRoOiAzLjRyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1tYXJnaW46IDAgMCAwIDIuNXJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWNvbG9yOiAkY29sb3JfZ3JheSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWNvbG9yLS1mcmVlLXNoaXBwaW5nLWFwcGxpZWQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yIHtcbiAgICAkcm9vdDogJjtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBib3JkZXItdG9wOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Jfc2VwYXJhdG9yO1xuICAgICAgICBwYWRkaW5nOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfcGFkZGluZztcbiAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTUwMDtcbiAgICAgICAgZm9udC1zaXplOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZm9udC1zaXplO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICZfX2NlbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS40cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fdG90YWwtbGVmdC10ZXh0IHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3ByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG90YWwtZnVsZmlsbGVkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjhyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZnVsZmlsbGVkLWljb24tdXJsKSAwIDUwJVxuICAgICAgICAgICAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mdWxmaWxsZWQtaWNvbi1zaXplO1xuICAgIH1cblxuICAgICZfX2Jhci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19iYXItbGFiZWwge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgY29sb3I6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLWZvbnQtd2VpZ2h0O1xuXG4gICAgICAgICYtLXN0YXJ0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW5kIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWhlaWdodDtcbiAgICAgICAgcGFkZGluZzogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wYWRkaW5nO1xuICAgICAgICBib3JkZXI6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJl9fYmFyLXByb2dyZXNzLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3Mtd3JhcHBlci1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJl9fYmFyLXByb2dyZXNzIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tbWFyZ2luO1xuICAgICAgICBmaWxsOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWU7XG5cbiAgICAgICAgI3skcm9vdH1fX2Jhci13cmFwcGVyLS1mcmVlLXNoaXBwaW5nLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGZpbGw6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWNvbG9yLS1mcmVlLXNoaXBwaW5nLWFwcGxpZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLm1vZGFsLXNsaWRlLmNvbmZpcm0gLm1vZGFsLWlubmVyLXdyYXAsXG4ubW9kYWwtcG9wdXAuY29uZmlybSAubW9kYWwtaW5uZXItd3JhcCxcbi5tb2RhbC1jdXN0b20uY29uZmlybSAubW9kYWwtaW5uZXItd3JhcCB7XG4gIG1heC13aWR0aDogNTByZW07IH1cblxuLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtaW5uZXItd3JhcCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggM3JlbSAwIHJnYmEoMzMsIDMzLCAzMywgMC4yOCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWNvbnRlbnQsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWNvbnRlbnQsXG4ubW9kYWwtY3VzdG9tIC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWhlYWRlcixcbi5tb2RhbC1wb3B1cCAubW9kYWwtaGVhZGVyLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UsXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luOiAxLjVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jbG9zZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07IH1cbiAgLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2Ugc3BhbixcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2Ugc3BhbixcbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlIHNwYW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6YmVmb3JlLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZTpiZWZvcmUsXG4gIC5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3Rlcixcbi5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBtaW4td2lkdGg6IDEycmVtOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5ICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnksXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqIHtcbiAgICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGRbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkW2Rpc2FibGVkXSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkIHNwYW4sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG5cbi5tb2RhbC1zbGlkZSAubW9kYWwtdGl0bGUsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLXRpdGxlLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICBwYWRkaW5nOiAycmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5tb2RhbC1wb3B1cC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcFtjbGFzc10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4ucGFnZS1sYXlvdXQtY2hlY2tvdXQgLm1vZGFsLXBvcHVwIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5tb2RhbC1zbGlkZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDY1cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG4ubW9kYWxzLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRtb2RhbF90aXRsZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcbiRtb2RhbF9pbnNpZGUtYm9yZGVyczogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1vZGFsX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRtb2RhbF9zbGlkZS1tb2JpbGUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG1vZGFsX2JveC1zaGFkb3c6ICRib3gtc2hhZG93X2Jhc2UgIWRlZmF1bHQ7XG4kbW9kYWxfYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRtb2RhbC1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWxfdGV4dC1mb250LXNpemU6ICRmb250LXNpemVfcGFyYWdyYXBoICFkZWZhdWx0O1xuJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG4kbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblxuLm1vZGFsLXNsaWRlLFxuLm1vZGFsLXBvcHVwLFxuLm1vZGFsLWN1c3RvbSB7XG4gICAgJi5jb25maXJtIHtcbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1vZGFsX2JhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRtb2RhbF9ib3gtc2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbW9kYWxfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyOiAkbW9kYWwtYm9yZGVyO1xuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgICBmb250LXNpemU6ICRtb2RhbF90ZXh0LWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Nsb3NlLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGJvcmRlci10b3A6ICRtb2RhbF9pbnNpZGUtYm9yZGVycztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAgIC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zcGFuKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFN0eWxlIGZvciBjaGVja291dCBtb2RhbHMgaGF2ZSB2ZXJ5IGhpZ2ggc3BlY2lmaWNpdHkgaW4gbWFnZW50b1xuICAgICAgICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zcGFuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uOm9ubHktY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zcGFuKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJG1vZGFsX3RpdGxlLWZvbnQtc2l6ZSk7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRtb2RhbF9pbnNpZGUtYm9yZGVycztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLm1vZGFsLXBvcHVwLm1vZGFsLXNsaWRlIHtcbiAgICAubW9kYWwtaW5uZXItd3JhcFtjbGFzc10ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbF9zbGlkZS1tb2JpbGUtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFsLXNsaWRlIHtcbiAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgICAucHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAgICAgLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWxheW91dC1jaGVja291dCB7XG4gICAgLm1vZGFsLXBvcHVwIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgLm1vZGFsLXNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjVyZW07XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbHMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsc19vdmVybGF5LWJhY2tncm91bmQ7XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2ZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiA2cmVtIDNyZW07IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faGVhZGxpbmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzIxMjEyMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA0LjNyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfSB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fc3ViaGVhZGxpbmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDEuNjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjEyMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fc3ViaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTsgfSB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fdGV4dCB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjMjEyMTIxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19jdGEge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246aG92ZXIsIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmZvY3VzLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpiZWZvcmUsIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvdHRvbTogLTFweDtcbiAgICByaWdodDogLTFweDsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICMyZDNlNTAgMCUsICMyZDNlNTAgMTAwJSk7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246YWZ0ZXIge1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24sIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24gKiwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24taWNvbiB7XG4gIG1heC13aWR0aDogMWVtO1xuICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gIHotaW5kZXg6IDI7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcmlnaHQ6IDFlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiR0ZWFzZXJfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJHRlYXNlcl9idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuLiN7JG5zfW5hdmlnYXRpb24tdGVhc2VyIHtcbiAgICAmX19maWd1cmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiA2cmVtIDNyZW07XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC4zcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJoZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkdGVhc2VyX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkdGVhc2VyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJHRlYXNlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHRlYXNlcl9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICR0ZWFzZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICR0ZWFzZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKipcbiAqIFVzaW5nIHBzdWVkbyBlbGVtZW50cyB0byBtYWludGFpbiBhbiBlbGVtZW50cyBhc3BlY3QgcmF0aW8sIGV2ZW4gYXMgaXQgc2NhbGVzXG4gKiBJdCdzIHVzaW5nIG9ubHkgZm9yIElFMTEgYW5kIEVkZ2UgKHZlcnNpb24gd2hpY2ggZG9lc24ndCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCkgYnJvd3NlcnNcbiAqIEZvciBicm93c2VycyB3aGljaCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCwgd2UgYXJlIHVzaW5nIG1peGlucyBjb250YWluIGByZXNldGAgaW4gbWl4aW4gbmFtZVxuICogdG8gb3ZlcnJpZGUgZGVmYXVsdCBtaXhpbnMgKHByb2dyZXNzaXZlIGVuaGFuY2VtZW50KVxuICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL21haW50YWluLWFzcGVjdC1yYXRpby1taXhpbi9cbiAqIEBwYXJhbSB7bnVtYmVyfSAkd2lkdGg6IHdpZHRoIG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtudW1iZXJ9ICRoZWlnaHQ6IGhlaWdodCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkY29udGVudENsYXNzOiBjbGFzcyBvZiB0aGUgZGlyZWN0IGNoaWxkIGVsZW1lbnQgdG8gYmUgcG9zaXRpb25lZCBhYnNvbHV0ZWx5O1xuICogQHBhcmFtIHtib29sZWFufSAkYXV0b3Bvc2l0aW9uOiB0ZWxscyBpZiBpdGVtIHNoYWxsIHRha2UgMTAwJSBvZiBwYXJlbnQgc2l6ZSBvciBpZiBpdCBjYW4gYmUgd2lkZXIvaGlnaGVyIGlmIG5lZWRlZDtcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtbmF2aWdhdGlvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gIC5jcy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tbWFpbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzZTUwOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpc3QtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sdW1uczogYXV0byAxO1xuICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2x1bW5zOiBhdXRvIDE7XG4gICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMiB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGlzdC0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1oaWRkZW4gKyAuY3MtbmF2aWdhdGlvbl9fZXh0cmFzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saXN0IC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1uby1jaGlsZHJlbjpudGgtY2hpbGQoMikge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGlzdCAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbm8tY2hpbGRyZW46bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gIC5jcy1uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2l0ZW0gLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTdweDtcbiAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgIHBhZGRpbmc6IDNweDsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1hY3RpdmU6bm90KFtkYXRhLWNhdGVnb3J5LWlkZW50aWZpZXI9J2FsbC1jYXRlZ29yaWVzJ10pID4gLmNzLW5hdmlnYXRpb25fX2xpbmssIC5jcy1uYXZpZ2F0aW9uX19pdGVtLmFjdGl2ZTpub3QoW2RhdGEtY2F0ZWdvcnktaWRlbnRpZmllcj0nYWxsLWNhdGVnb3JpZXMnXSkgPiAuY3MtbmF2aWdhdGlvbl9fbGluaywgLmNzLW5hdmlnYXRpb25fX2l0ZW06YWN0aXZlOm5vdChbZGF0YS1jYXRlZ29yeS1pZGVudGlmaWVyPSdhbGwtY2F0ZWdvcmllcyddKSA+IC5jcy1uYXZpZ2F0aW9uX19saW5rLCAuY3MtbmF2aWdhdGlvbl9faXRlbTpmb2N1czpub3QoW2RhdGEtY2F0ZWdvcnktaWRlbnRpZmllcj0nYWxsLWNhdGVnb3JpZXMnXSkgPiAuY3MtbmF2aWdhdGlvbl9fbGluaywgLmNzLW5hdmlnYXRpb25fX2l0ZW06aG92ZXI6bm90KFtkYXRhLWNhdGVnb3J5LWlkZW50aWZpZXI9J2FsbC1jYXRlZ29yaWVzJ10pID4gLmNzLW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2l0ZW0gPiAuY3MtbmF2aWdhdGlvbl9fbGluay0tYWN0aXZlLCAuY3MtbmF2aWdhdGlvbl9faXRlbSA+IC5jcy1uYXZpZ2F0aW9uX19saW5rLmFjdGl2ZSwgLmNzLW5hdmlnYXRpb25fX2l0ZW0gPiAuY3MtbmF2aWdhdGlvbl9fbGluazphY3RpdmUsIC5jcy1uYXZpZ2F0aW9uX19pdGVtID4gLmNzLW5hdmlnYXRpb25fX2xpbms6Zm9jdXMsIC5jcy1uYXZpZ2F0aW9uX19pdGVtID4gLmNzLW5hdmlnYXRpb25fX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW1haW4ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgLyogSUUgMTEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2l0ZW0tLWxldmVsXzEge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIC8qIFRoZW9yZXRpY2FsbHkgRkYgMjArICovXG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgICAgIC8qIElFIDExICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nOiAxNXB4IDlweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saW5rLCAuY3MtbmF2aWdhdGlvbl9fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1uYXZpZ2F0aW9uX19saW5rOmhvdmVyIC5jcy1uYXZpZ2F0aW9uX19saW5rLWljb24tLXN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1tYWluIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGluay0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNmVtOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzEge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNmVtOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saW5rLS13aXRoLWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbmstaWNvbi13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDAuOGVtOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbmstaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICB3aWR0aDogMnJlbTsgfVxuICAgICAgLmNzLW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5IC5jcy1uYXZpZ2F0aW9uX19saW5rLWljb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG4gICAgICAuY3MtbmF2aWdhdGlvbl9fbGluay1pY29uLS1zdmcgcGF0aCB7XG4gICAgICAgIGZpbGw6ICM0ODQ4NDg7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGluay1wcm9kdWN0cy1xdHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saW5rLXByb2R1Y3RzLXF0eTphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgLmNzLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW5vLWNoaWxkcmVuIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1uby1jaGlsZHJlbiA+IC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8xIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMTJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6IDAuOWVtIDEuNWVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2ZseW91dC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2ZseW91dCBzdmcge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FRQUFBQzFIQXdDQUFBQUMwbEVRVlI0Mm1Oa1lBQUFBQVlBQWpDQjBDOEFBQUFBU1VWT1JLNUNZSUk9KTtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9IH1cbiAgLmNzLW5hdmlnYXRpb25fX2V4dHJhcyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1uYXZpZ2F0aW9uX190ZWFzZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX3RlYXNlci0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0cyB7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgIG1pbi13aWR0aDogMjRyZW07IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdHMtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBwYWRkaW5nOiAxLjFlbSAxLjA1ZW0gMS41NWVtO1xuICAgICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0cy1saXN0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDE3MCU7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdCAuY3MtcHJvZHVjdC10aWxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAuY3MtbmF2aWdhdGlvbl9fb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzcmVtLCAwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAsIDAuOTcsIDAuMDUsIDAuOTkpOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX292ZXJsYXktLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAucGFnZS1wcmludCAuY3MtbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3Q6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3QgLmNzLXByb2R1Y3QtdGlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvOyB9IH1cblxuLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiIsIi8qKipcbiAqIFVzaW5nIHBzdWVkbyBlbGVtZW50cyB0byBtYWludGFpbiBhbiBlbGVtZW50cyBhc3BlY3QgcmF0aW8sIGV2ZW4gYXMgaXQgc2NhbGVzXG4gKiBJdCdzIHVzaW5nIG9ubHkgZm9yIElFMTEgYW5kIEVkZ2UgKHZlcnNpb24gd2hpY2ggZG9lc24ndCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCkgYnJvd3NlcnNcbiAqIEZvciBicm93c2VycyB3aGljaCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCwgd2UgYXJlIHVzaW5nIG1peGlucyBjb250YWluIGByZXNldGAgaW4gbWl4aW4gbmFtZVxuICogdG8gb3ZlcnJpZGUgZGVmYXVsdCBtaXhpbnMgKHByb2dyZXNzaXZlIGVuaGFuY2VtZW50KVxuICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL21haW50YWluLWFzcGVjdC1yYXRpby1taXhpbi9cbiAqIEBwYXJhbSB7bnVtYmVyfSAkd2lkdGg6IHdpZHRoIG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtudW1iZXJ9ICRoZWlnaHQ6IGhlaWdodCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkY29udGVudENsYXNzOiBjbGFzcyBvZiB0aGUgZGlyZWN0IGNoaWxkIGVsZW1lbnQgdG8gYmUgcG9zaXRpb25lZCBhYnNvbHV0ZWx5O1xuICogQHBhcmFtIHtib29sZWFufSAkYXV0b3Bvc2l0aW9uOiB0ZWxscyBpZiBpdGVtIHNoYWxsIHRha2UgMTAwJSBvZiBwYXJlbnQgc2l6ZSBvciBpZiBpdCBjYW4gYmUgd2lkZXIvaGlnaGVyIGlmIG5lZWRlZDtcbiAqL1xuXG5AZnVuY3Rpb24gZ2V0LWFzcGVjdC1yYXRpby1wYWRkaW5nLXZhbHVlKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIEByZXR1cm4gKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbn1cblxuQG1peGluIGFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQsICRjaGlsZENsYXNzLCAkYXV0b3Bvc2l0aW9uOiB0cnVlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogZ2V0LWFzcGVjdC1yYXRpby1wYWRkaW5nLXZhbHVlKCR3aWR0aCwgJGhlaWdodCk7XG4gICAgfVxuXG4gICAgLiN7JGNoaWxkQ2xhc3N9IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgQGlmICRhdXRvcG9zaXRpb24ge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8tcmVzZXQoJGNoaWxkQ2xhc3MsICRhdXRvcG9zaXRpb246IHRydWUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLiN7JGNoaWxkQ2xhc3N9IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgQGlmICRhdXRvcG9zaXRpb24ge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8tY2hpbGQtcG9zaXRpb24oJGF1dG9wb3NpdGlvbjogdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIEBpZiAkYXV0b3Bvc2l0aW9uIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogZ2V0LWFzcGVjdC1yYXRpby1wYWRkaW5nLXZhbHVlKCR3aWR0aCwgJGhlaWdodCk7XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLW92ZXJyaWRlLXJlc2V0KCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9hc3BlY3QtcmF0aW8nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuXG4kbmF2aWdhdGlvbl9mb250LXNpemU6IDEuMnJlbTtcblxuJG5hdmlnYXRpb25fb3ZlcmxheS1zaG93OiBmYWxzZSAhZGVmYXVsdDtcbi8vIEJveCBzaGFkb3cgZWZmZWN0IGFwcGxpZWQgZm9yIHRoZSBmbHlvdXQuXG4kbmF2aWdhdGlvbl9mbHlvdXQtYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMTUpICFkZWZhdWx0O1xuLy8gRmx5b3V0IGJhY2tncm91bmQgY29sb3IuXG4kbmF2aWdhdGlvbl9mbHlvdXQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuLy8gQ29sb3Igb2YgdGhlIGxpbmsuXG4kbmF2aWdhdGlvbl9saW5rLWNvbG9yOiAjZmZmO1xuLy8gQ29sb3Igb2YgdGhlIGxpbmsgaW4gdGhlIGZseW91dCBvbiBob3Zlci5cbiRuYXZpZ2F0aW9uX2xpbmstY29sb3ItaG92ZXI6ICRjb2xvcl9wcmltYXJ5O1xuLy8gQm90dG9tIGJvcmRlciBjb25maWd1cmF0aW9uIGZvciBmbHlvdXQgY2F0ZWdvcnkgbGlua3MuXG4kbmF2aWdhdGlvbl9saW5rLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG5hdmlnYXRpb25fbGlzdHMtbWFyay1wYXJlbnQtb24taG92ZXI6IHRydWUgIWRlZmF1bHQ7XG5cbiRuYXZpZ2F0aW9uX2xpbmstaWNvbi1zaXplLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJG5hdmlnYXRpb25fbGluay1pY29uLXNpemUtaGVpZ2h0OiAkbmF2aWdhdGlvbl9saW5rLWljb24tc2l6ZS13aWR0aCAhZGVmYXVsdDtcbi8vIHdvcmtzIG9ubHkgZm9yIHN2ZyBpY29uc1xuJG5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yOiAkY29sb3JfdGV4dC02MDAgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbl9saW5rLWljb24tY29sb3ItLWhvdmVyOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31uYXZpZ2F0aW9uIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkbmF2aWdhdGlvbl9mb250LXNpemU7XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAvL2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGNvbG9yX3ByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbHVtbnM6IGF1dG8gMTtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxldmVsIHtcbiAgICAgICAgICAgICZfMSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgY29sdW1uczogYXV0byAxO1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfMiB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYgKyAuI3skbnN9bmF2aWdhdGlvbl9fZXh0cmFzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLW5vLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG5hdmlnYXRpb25fbGlzdHMtbWFyay1wYXJlbnQtb24taG92ZXIpIHtcbiAgICAgICAgICAgICYtLWFjdGl2ZSxcbiAgICAgICAgICAgICYuYWN0aXZlLCAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjpub3QoW2RhdGEtY2F0ZWdvcnktaWRlbnRpZmllcj0nYWxsLWNhdGVnb3JpZXMnXSkge1xuICAgICAgICAgICAgICAgICAgICA+ICN7JHJvb3R9X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZjVmNWY1O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiAjeyRyb290fV9fbGluayB7XG4gICAgICAgICAgICAgICAgJi0tYWN0aXZlLFxuICAgICAgICAgICAgICAgICYuYWN0aXZlLCAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmNWY1ZjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICYtLW1haW4geyAgICAgIFxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAmI3skcm9vdH1fX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICY6bm90KFtkYXRhLWNhdGVnb3J5LWlkZW50aWZpZXI9J2FsbC1jYXRlZ29yaWVzJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gI3skcm9vdH1fX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgID4gI3skcm9vdH1fX2xpbms6bm90KCN7JHJvb3R9X19saW5rLS13aXRoLWljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgPiAjeyRyb290fV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgLy8gUHJldmVudHMgZWxlbWVudCBicmVha2luZyBiZWNhdXNlIG9mIGNvbHVtbiBsYXlvdXQuXG4gICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IC8qIFRoZW9yZXRpY2FsbHkgRkYgMjArICovXG4gICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjsgLyogSUUgMTEgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGV2ZWwge1xuICAgICAgICAgICAgJl8xIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgIC8vIFByZXZlbnRzIGVsZW1lbnQgYnJlYWtpbmcgYmVjYXVzZSBvZiBjb2x1bW4gbGF5b3V0LlxuICAgICAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjsgLyogSUUgMTEgKi9cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBmb250LWZhbWlseTokZm9udF9mYW1pbHktc2Vjb25kYXJ5O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDlweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvci1ob3ZlcjtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2xpbmstaWNvbi0tc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmlnYXRpb25fbGluay1ib3JkZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS42ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sZXZlbCB7XG4gICAgICAgICAgICAmXzEge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRuYXZpZ2F0aW9uX2xpbmstYm9yZGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjZlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl8yIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdpdGgtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZpZ2F0aW9uX2xpbmstaWNvbi1zaXplLXdpZHRoICsgMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAkbmF2aWdhdGlvbl9saW5rLWljb24tc2l6ZS13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJG5hdmlnYXRpb25fbGluay1pY29uLXNpemUtaGVpZ2h0O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuOGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgICAgIGhlaWdodDogJG5hdmlnYXRpb25fbGluay1pY29uLXNpemUtd2lkdGg7XG4gICAgICAgICAgICB3aWR0aDogJG5hdmlnYXRpb25fbGluay1pY29uLXNpemUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAjeyRyb290fV9fbGluay0tY2F0ZWdvcnkgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtcHJvZHVjdHMtcXR5IHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vU3R5bGluZyBmb3IgY2F0ZWdvcmllcyBsZXZlbF8xIHdpdGggbm8gc3ViY2F0ZWdvcmllc1xuICAgICN7JHJvb3R9X19pdGVtLS1uby1jaGlsZHJlbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgICN7JHJvb3R9X19pdGVtLS1uby1jaGlsZHJlbiA+ICN7JHJvb3R9X19saW5rLS1sZXZlbF8xIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwYWRkaW5nOiAwLjllbSAxLjVlbTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19mbHlvdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZpZ2F0aW9uX2ZseW91dC1iYWNrZ3JvdW5kO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDEwMDE7IC8vIE1ha2Ugc3VyZSBmbHlvdXRzIGNvdmVyIGdhbGxlcnkgbmF2LlxuICAgICAgICBib3gtc2hhZG93OiAkbmF2aWdhdGlvbl9mbHlvdXQtYm94LXNoYWRvdztcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcblxuICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVFBQUFDMUhBd0NBQUFBQzBsRVFWUjQybU5rWUFBQUFBWUFBakNCMEM4QUFBQUFTVVZPUks1Q1lJST0pO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2V4dHJhcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX190ZWFzZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9aW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3RzIHtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgICBtaW4td2lkdGg6IDI0cmVtO1xuXG4gICAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmlnYXRpb25fbGluay1ib3JkZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjFlbSAxLjA1ZW0gMS41NWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3Qge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oXG4gICAgICAgICR3aWR0aDogJHRpbGVfYXNwZWN0LXJhdGlvLXdpZHRoLFxuICAgICAgICAgICAgJGhlaWdodDogJHRpbGVfYXNwZWN0LXJhdGlvLWhlaWdodCxcbiAgICAgICAgICAgICRjaGlsZENsYXNzOiAjeyRuc31wcm9kdWN0LXRpbGUsXG4gICAgICAgICRhdXRvcG9zaXRpb246IHRydWVcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzcmVtLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMCwgMC45NywgMC4wNSwgMC45OSk7XG5cbiAgICAgICAgQGlmICRuYXZpZ2F0aW9uX292ZXJsYXktc2hvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1wcmludCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgICAgICAmX19wcm9kdWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1yZXNldChcbiAgICAgICAgICAgICRjaGlsZENsYXNzOiAjeyRuc31wcm9kdWN0LXRpbGUsXG4gICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0tbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLW5ld3NsZXR0ZXIge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLW5ld3NsZXR0ZXIge1xuICAgICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2Zvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IDM0cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2Zvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAuY3MtbmV3c2xldHRlcl9fZm9ybS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2ZpZWxkIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gIC5jcy1uZXdzbGV0dGVyX19pbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuICAuY3MtbmV3c2xldHRlcl9fbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiA0cmVtOyB9XG4gIC5jcy1uZXdzbGV0dGVyX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbiAqLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1uZXdzbGV0dGVyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC4xZW07XG4gICAgd2lkdGg6IDAuOGVtO1xuICAgIGhlaWdodDogMC44ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRpbnB1dF9wYWRkaW5nOiAwLjcxNWVtIDFlbSAhZGVmYXVsdDtcbiRpbnB1dF9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYWx0byAhZGVmYXVsdDtcbiRpbnB1dF9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuXG4kbmV3c2xldHRlcl9tYXJnaW46IDAgIWRlZmF1bHQ7XG4kbmV3c2xldHRlcl9wYWRkaW5nOiAwIDEuNXJlbSAhZGVmYXVsdDtcblxuJG5ld3NsZXR0ZXJfZm9ybS1tYXgtd2lkdGg6IDM0cmVtICFkZWZhdWx0O1xuJG5ld3NsZXR0ZXJfZm9ybS1oZWlnaHQ6IDRyZW0gIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXBvczogJ29ubHktaWNvbicgIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXdpZHRoOiAwLjhlbSAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLWhlaWdodDogMC44ZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31uZXdzbGV0dGVyIHtcbiAgICBtYXJnaW46ICRuZXdzbGV0dGVyX21hcmdpbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAkbmV3c2xldHRlcl9wYWRkaW5nO1xuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRuZXdzbGV0dGVyX2Zvcm0tbWF4LXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9ybS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICB9XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogJG5ld3NsZXR0ZXJfZm9ybS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRuZXdzbGV0dGVyX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkbmV3c2xldHRlcl9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRuZXdzbGV0dGVyX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkbmV3c2xldHRlcl9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICB3aWR0aDogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24taGVpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGVyLXVzZXItbmF2IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDA7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleDogMCAxIDMwJTsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbGV4OiAwIDEgMzMlOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tbGFuZ3VhZ2Uge1xuICAgICAgZmxleDogMCAxIDMzJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluazpob3ZlciAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHBhdGgge1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLS1zZWFyY2g6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24ge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbi10b3A6IDAuM3JlbSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgY2xpcDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfSB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgcGFkZGluZzogMCAwLjZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgaGVpZ2h0OiAxLjhlbTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTAuNXJlbTtcbiAgICB0b3A6IC0wLjVyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXIge1xuICAgICAgICByaWdodDogLTFyZW07IH0gfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS13aXNobGlzdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0tbWluaWNhcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0MWYxMjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLWNvbXBhcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLWhhdmUtaXRlbXMge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci1zcGFuIHtcbiAgICBtaW4td2lkdGg6IDFjaDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1oZWFkZXItdXNlci1uYXYgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tY2hlY2tvdXQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jcy1vZmZjYW52YXMtdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXI6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmFjdGl2ZSwgLmNzLW9mZmNhbnZhcy10b2dnbGU6Zm9jdXMsIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmhvdmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBiYWNrZ3JvdW5kOiAjMmQzZTUwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZTphY3RpdmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6Zm9jdXMsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyZDNlNTA7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb24sIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgdHJhbnNmb3JtIDAuM3M7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTI1MCUsIDApOyB9XG4gICAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNTAlLCAwKTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9fdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMC41cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX3RleHQge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX3RleHQge1xuICAgICAgICBib3R0b206IDJyZW07IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXIvdXNlci1uYXYvdXNlci1uYXYnO1xuXG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1jb2xvci1hY3RpdmU6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX2ljb24tdHJhbnNpdGlvbi10aW1lOiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9hbmltYXRpb24tZGlyZWN0aW9uOiAnbGVmdCcgIWRlZmF1bHQ7IC8vICdsZWZ0JyBvciAncmlnaHQnXG4kb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yLWFjdGl2ZTogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLiN7JG5zfW9mZmNhbnZhcy10b2dnbGUge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGlmICgkZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcykge1xuICAgICAgICB3aWR0aDogNS41cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgJz49I3skZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcy1icmVha3BvaW50fSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgQGlmICgkb2ZmY2FudmFzLXRvZ2dsZV9hbmltYXRpb24tZGlyZWN0aW9uID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgICAmLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tdHJhbnNpdGlvbi10aW1lLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLXRyYW5zaXRpb24tdGltZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjUwJSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjUwJSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLW1vYmlsZS1zZWFyY2gtaW4tb2ZmY2FudmFzKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAnPj0jeyRnbG9iYWxfaGVhZGVyLW1vYmlsZS1zZWFyY2gtaW4tb2ZmY2FudmFzLWJyZWFrcG9pbnR9J1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1hY3RpdmUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDAuNXJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9mZmNhbnZhcy10b2dnbGVfdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAgICAgI3skcm9vdH0tLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMpIHtcbiAgICAgICAgJl9fbWVudS1zZWFyY2gtaWNvbiB7XG4gICAgICAgICAgICBmaWxsOiAkaGVhZGVyLXVzZXItbmF2X2ljb24tY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogMi42cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjZyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICc+PSN7JGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMtYnJlYWtwb2ludH0nXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkaGVhZGVyLXVzZXItbmF2X2ljb24tY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1hY3RpdmUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8wLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWN1cnJlbnQsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8wLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWN1cnJlbnQge1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tY3VycmVudCA+IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSA+IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTA1JTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0gKyAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgYm9yZGVyLXRvcDogMXB4ICNkY2RjZGMgc29saWQ7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCAjZGNkY2RjIHNvbGlkOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtLS13aXRoLWljb24gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX190ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmssIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbjp2aXNpdGVkLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0LCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0OnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluOmhvdmVyLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0OmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluOmhvdmVyIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0OmhvdmVyIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAyLjNyZW07XG4gICAgICAgIGhlaWdodDogMi43cmVtO1xuICAgICAgICByaWdodDogMnJlbTsgfVxuICAgICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXBhcmVudCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcmV0dXJuIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgaGVpZ2h0OiAwLjFyZW07IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXBhcmVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXBhcmVudCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgICAgICByaWdodDogMnJlbTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcmV0dXJuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXJlbTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICAgICAgbGVmdDogMnJlbTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dDpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMXJlbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICByaWdodDogMnJlbTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDJyZW07IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjFyZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIC01MCUsIDApO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoNTAlLCA1MCUsIDApOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgbGVmdDogMnJlbTsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24gLmFjdGl2ZSA+IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2NhdGVnb3J5LWljb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2NhdGVnb3J5LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWF4LWhlaWdodDogMnJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJhY2tncm91bmQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYm9yZGVyOiAxcHggJGNvbG9yX2FsdG8gc29saWQgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9zZWFyY2gtZW5hYmxlZDogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19UaGVtZSxcbiAgICBoZWFkZXIsXG4gICAgbW9iaWxlX3NlYXJjaF9pbl9vZmZjYW52YXNcbikgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9zZWFyY2gtZW5hYmxlZC1saXN0LWxldmVsMS10b3AtcG9zaXRpb246IDE0JSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3IgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1mb250LXNpemU6IDEuNnJlbTtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWFjdGl2ZS1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZzogMi40cmVtIDJyZW0gIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXVzZS1wc2V1ZG9pY29uLWluc3RlYWQtc3ZnOiB0cnVlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24td2lkdGg6IDAuN3JlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWhlaWdodDogMC4xcmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IgIWRlZmF1bHQ7XG4vLyBCZWxvdyBuYXZpZ2F0aW9uX2ljb24gc2V0dGluZ3MgYXJlIHVzYWJsZSBvbmx5IGlmIHlvdSB1c2UgcHNldWRvaWNvblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdHlwZTogJ2Fycm93JyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLW5leHQ6ICdyaWdodCcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1wcmV2OiAnbGVmdCcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYXJyb3ctbGVmdC1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fY2F0ZWdvcnktaWNvbl9tYXgtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2NhdGVnb3J5LWljb25fbWFyZ2luLXJpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9b2ZmY2FudmFzLW5hdmlnYXRpb24ge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9iYWNrZ3JvdW5kO1xuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYtLWxldmVsXzAsXG4gICAgICAgICYtLWN1cnJlbnQsXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxldmVsXzAsXG4gICAgICAgICYtLWN1cnJlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWN1cnJlbnQge1xuICAgICAgICAgICAgPiAjeyRyb290fV9faXRlbSB7XG4gICAgICAgICAgICAgICAgPiAjeyRyb290fV9fbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxMDUlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgICAgICAgIC8vIFByZXZlbnQgb3ZlcmxhcHBpbmcgb2Ygc2VhcmNoIG9uIG5hdmlnYXRpb24gbGlzdFxuICAgICAgICAgICAgQGlmICgkb2ZmY2FudmFzLW5hdmlnYXRpb25fc2VhcmNoLWVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICB0b3A6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9zZWFyY2gtZW5hYmxlZC1saXN0LWxldmVsMS10b3AtcG9zaXRpb247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdpdGgtaWNvbiB7XG4gICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nO1xuICAgICAgICBmb250LXNpemU6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250X2ZhbWlseS1zZWNvbmRhcnk7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yLS1ob3ZlcjtcblxuICAgICAgICAgICAgQGlmIG5vdCgkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi11c2UtcHNldWRvaWNvbi1pbnN0ZWFkLXN2Zykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaWduLWluLFxuICAgICAgICAmLS1zaWduLW91dCB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXNpZ24tY29sb3ItLWhvdmVyO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3ItLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuM3JlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuN3JlbTtcbiAgICAgICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXJlbnQsXG4gICAgICAgICYtLXJldHVybiB7XG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGFyZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZXR1cm4ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtO1xuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdXNlLXBzZXVkb2ljb24taW5zdGVhZC1zdmcpIHtcbiAgICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYW5pbWF0ZWQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLW5leHQsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYW5pbWF0ZWQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLXByZXYsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6IGF1dG9cbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGl2ZSB7XG4gICAgICAgID4gI3skcm9vdH1fX2xpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhdGVnb3J5LWljb24td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9jYXRlZ29yeS1pY29uX21heC1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2NhdGVnb3J5LWljb25fbWFyZ2luLXJpZ2h0O1xuICAgIH1cblxuICAgICZfX2NhdGVnb3J5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICBtYXgtaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fY2F0ZWdvcnktaWNvbl9tYXgtaGVpZ2h0O1xuICAgIH1cblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMpIHtcbiAgICAgICAgJl9fc2VhcmNoIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICc+PSN7JGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMtYnJlYWtwb2ludH0nXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtb2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzMDA7IH1cbiAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIsIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgICB0b3A6IDExcmVtO1xuICAgICAgICBib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIsIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY3Mtb2ZmY2FudmFzLS1taW5pLWNhcnQgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzLS1taW5pLWNhcnQgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDsgfVxuICAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDVyZW0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgdHJhbnNmb3JtIDFtcyAwLjNzO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5jcy1vZmZjYW52YXMtLW1pbmktY2FydCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3Mtb2ZmY2FudmFzIC5vdmVybGF5LS12aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7IH1cbiAgLmNzLW9mZmNhbnZhc19fZHJhd2VyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNDByZW07IH1cbiAgICAuY3Mtb2ZmY2FudmFzLS1zaWRlX2xlZnQgLmNzLW9mZmNhbnZhc19fZHJhd2VyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApOyB9XG4gICAgLmNzLW9mZmNhbnZhcy0tc2lkZV9yaWdodCAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDUlLCAwLCAwKTsgfVxuICAgIC5jcy1vZmZjYW52YXNfX2RyYXdlci0tbmF2aWdhdGlvbiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTsgfVxuICAuY3Mtb2ZmY2FudmFzIC5kcmF3ZXItLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgIWltcG9ydGFudDsgfVxuICAuY3Mtb2ZmY2FudmFzX19zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDZyZW07XG4gICAgaGVpZ2h0OiA2cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDIwJTtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJG9mZmNhbnZhc192ZXJ0aWNhbC1vZmZzZXQtbW9iaWxlOiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlICFkZWZhdWx0OyAvLyBNb3ZlIGJlbG93IHRoZSBuYXZpZ2F0aW9uIG9uIG1vYmlsZS5cbiRvZmZjYW52YXNfdG9wLW9mZnNldC10YWJsZXQ6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXQgIWRlZmF1bHQ7IC8vIE1vdmUgYmVsb3cgdGhlIG5hdmlnYXRpb24gb24gdGFibGV0LlxuJG9mZmNhbnZhc190cmFuc2l0aW9uLXRpbWU6ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhc19vdmVybGF5LWJhY2tncm91bmQ6ICRtb2RhbHNfb3ZlcmxheS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzX2RyYXdlci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXNfc3Bpbm5lci1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9b2ZmY2FudmFzIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzMDA7XG5cbiAgICAmX19kcmF3ZXIsXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1pcy1ib3R0b20tb24tbW9iaWxlKSB7XG4gICAgICAgICAgICBib3R0b206ICRvZmZjYW52YXNfdmVydGljYWwtb2Zmc2V0LW1vYmlsZTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICB0b3A6ICRvZmZjYW52YXNfdmVydGljYWwtb2Zmc2V0LW1vYmlsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHRvcDogJG9mZmNhbnZhc190b3Atb2Zmc2V0LXRhYmxldDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbWluaS1jYXJ0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skb2ZmY2FudmFzX3ZlcnRpY2FsLW9mZnNldC1tb2JpbGV9KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vIFNldHRpbmcgMW1zIGJlY2F1c2UgMCBkb2Vzbid0IHNlZW0gdG8gd29yayBhbmQgd2UgbmVlZCBzZWFtbGVzcyB0cmFuc2l0aW9uIGZvciBzY2FsZSBoZXJlLlxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDFtcyAkb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1taW5pLWNhcnQgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3ZlcmxheSB7XG4gICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXNfb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RyYXdlciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhc19kcmF3ZXItYmFja2dyb3VuZDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICAgICAgYm90dG9tOiAkb2ZmY2FudmFzX3ZlcnRpY2FsLW9mZnNldC1tb2JpbGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tc2lkZV9sZWZ0ICYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tc2lkZV9yaWdodCAmIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA1JSwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItbW9iaWxlLW1lbnUtaXMtcmlnaHQpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA1JSwgMCwgMCk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRyYXdlciB7XG4gICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3Bpbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcmVtO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4ucGFnZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMi42cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzJkM2U1MDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucGFnZS10aXRsZV9faGVhZGxpbmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnBhZ2UtdGl0bGVfX3NwYW4ge1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcGFkZGluZzogMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kcGFnZS10aXRsZV9mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMSAhZGVmYXVsdDtcbiRwYWdlLXRpdGxlX3RleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJHBhZ2UtdGl0bGVfZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcblxuJHBhZ2UtdGl0bGVfc3Bhbi1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJHBhZ2UtdGl0bGVfc3Bhbi1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJHBhZ2UtdGl0bGVfc3Bhbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4ucGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkcGFnZS10aXRsZV9mb250LXNpemUpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkcGFnZS10aXRsZV90ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogJHBhZ2UtdGl0bGVfZm9udC13ZWlnaHQ7XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAmX19zcGFuIHtcbiAgICAgICAgY29sb3I6ICRwYWdlLXRpdGxlX3NwYW4tY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGFnZS10aXRsZV9zcGFuLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkcGFnZS10aXRsZV9zcGFuLXBhZGRpbmc7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXBhZ2UtYm90dG9tIHtcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wYWdlLWJvdHRvbSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1wYWdlLWJvdHRvbSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5wYWdlLXByaW50IC5jcy1wYWdlLWJvdHRvbSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcGFnZS1ib3R0b21fX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2ltYWdlLS1jaXJjbGUge1xuICAgICAgd2lkdGg6IDQuN3JlbTtcbiAgICAgIGhlaWdodDogNC43cmVtO1xuICAgICAgbWluLXdpZHRoOiA0LjdyZW07XG4gICAgICBtaW4taGVpZ2h0OiA0LjdyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLXBhZ2UtYm90dG9tX190ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC42cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX190ZXh0LS1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmNzLXBhZ2UtYm90dG9tX19ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIC5jcy1wYWdlLWJvdHRvbV9fdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8ge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDE3JTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyAuY3MtcGFnZS1ib3R0b21fX3RleHQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmcge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07IH0gfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQge1xuICAgICAgZmxleC1iYXNpczogNTAlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IC5jcy1wYWdlLWJvdHRvbV9fdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nLCAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nOmJlZm9yZSwgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudDpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwLjJyZW07XG4gICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNkY2RjZGM7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cbiAgLmNzLXBhZ2UtYm90dG9tX19sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28ge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1oZXJtZXMge1xuICAgICAgd2lkdGg6IDEyLjJyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWRobCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgbWluLXdpZHRoOiA4LjZyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXBheXBhbCB7XG4gICAgICB3aWR0aDogNi4ycmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS12aXNhIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgICBtaW4td2lkdGg6IDUuNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tbWFzdGVyY2FyZCB7XG4gICAgICB3aWR0aDogMy4zcmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1rbGFybmEtc29mb3J0IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0ta2xhcm5hIHtcbiAgICAgIHdpZHRoOiA3cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1nbHMge1xuICAgICAgd2lkdGg6IDVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWdpcm9wYXkge1xuICAgICAgd2lkdGg6IDQuOHJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tZWMge1xuICAgICAgd2lkdGg6IDEuOHJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tcGF5ZGlyZWt0IHtcbiAgICAgIHdpZHRoOiA2cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1sYXN0c2NocmlmdCB7XG4gICAgICB3aWR0aDogNi4xNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tdm9ya2Fzc2Uge1xuICAgICAgd2lkdGg6IDguM3JlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tcmVjaG51bmcge1xuICAgICAgd2lkdGg6IDYuMTVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ286bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uY3MtY29udGFpbmVyLS1wYWdlLWJvdHRvbSB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgYmFja2dyb3VuZDogIzJkM2U1MDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwYWdlLWJvdHRvbV90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kcGFnZS1ib3R0b21fZGl2aWRlci1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31wYWdlLWJvdHRvbSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAucGFnZS1wcmludCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgJi0tY2lyY2xlIHtcbiAgICAgICAgICAgIHdpZHRoOiA0LjdyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDQuN3JlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNC43cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNC43cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBjb2xvcjogJHBhZ2UtYm90dG9tX3RleHQtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuXG4gICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTclO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaGlwcGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGF5bWVudCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaGlwcGluZyxcbiAgICAgICAgJi0tcGF5bWVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHBhZ2UtYm90dG9tX2RpdmlkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGVybWVzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMi4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGhsIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDguNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBheXBhbCB7XG4gICAgICAgICAgICB3aWR0aDogNi4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdmlzYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA1LjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tYXN0ZXJjYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiAzLjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1rbGFybmEtc29mb3J0IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWtsYXJuYSB7XG4gICAgICAgICAgICB3aWR0aDogN3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdscyB7XG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdpcm9wYXkge1xuICAgICAgICAgICAgd2lkdGg6IDQuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVjIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXlkaXJla3Qge1xuICAgICAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sYXN0c2NocmlmdCB7XG4gICAgICAgICAgICB3aWR0aDogNi4xNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZvcmthc3NlIHtcbiAgICAgICAgICAgIHdpZHRoOiA4LjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZWNobnVuZyB7XG4gICAgICAgICAgICB3aWR0aDogNi4xNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0tcGFnZS1ib3R0b20ge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyZDNlNTA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qXG4gKiBCZWNhdXNlIHByaWNlLWJveCBpcyB1c2VkIGluIG11bHRpcGxlIGNvbXBvbmVudHMgbGlrZSB0aWxlLCBidXlib3ggZXRjLFxuICogd2UgbmVlZCB0byBtb3ZlIHZhcmlhYmxlcyB0byBzZXBhcmF0ZSBmaWxlIHRvIGhhdmUgcG9zc2liaWxpdHkgdG8gaW5jbHVkZSB0aGVtXG4gKiBpbiBlYWNoIGNvbXBvbmVudCB3aXRob3V0IGdlbmVyYXRlIHByaWNlLWJveCBjb21wb25lbnQgc3R5bGVzIG11bHRpcGxlIHRpbWVzXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLnByaWNlLWJveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgLnByaWNlLWJveCAub2xkLXByaWNlLm5vLWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgIHBhZGRpbmctbGVmdDogMC40ZW07IH1cbiAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwLjNyZW0gMC4zcmVtIDA7IH1cbiAgICAgIGJvZHlcbnBcbi5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC8qIDEgKi8gfVxuICAucHJpY2UtYm94IC5wcmljZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5wcmljZS1ib3ggLnByaWNlLWZyb20sXG4gIC5wcmljZS1ib3ggLnByaWNlLXRvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1mcm9tID4gLnByaWNlLWNvbnRhaW5lcixcbiAgICAucHJpY2UtYm94IC5wcmljZS10byA+IC5wcmljZS1jb250YWluZXIge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1mcm9tIC5wcmljZS1sYWJlbCxcbiAgICAucHJpY2UtYm94IC5wcmljZS10byAucHJpY2UtbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgY29sb3I6ICNlNDFmMTI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlLmFjdGl2ZSAucHJpY2Uge1xuICAgIGNvbG9yOiAjZTQxZjEyOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlLWZyb20ge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtcHJpY2UtLXBkcF9kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3g6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lci5wcmljZS1maW5hbF9wcmljZTpub3QoOm9ubHktY2hpbGQpIC5wcmljZSB7XG4gICAgY29sb3I6ICNlNDFmMTI7IH1cbiAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4OmJlZm9yZSxcbiAgICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheCAucHJpY2UsXG4gICAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4OmJlZm9yZSxcbiAgICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsXG4gICAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSxcbiAgICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpOyB9XG4gICAgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogI2NjYztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuXG4uY3MtYnVuZGxlLWJveF9fYWRkIC5wcmljZS1hcy1jb25maWd1cmVkIHtcbiAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuXG4ubWluaW1hbC1wcmljZS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5taW5pbWFsLXByaWNlLWxpbms6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICctJztcbiAgICByaWdodDogLTFyZW07XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcblxuJGNvbmZpZ3VyYWJsZS1wcm9kdWN0cy1zaG93LWZyb20tcHJpY2UtbGFiZWw6IGZhbHNlO1xuXG4ucHJpY2UtYm94IHtcbiAgICAkcm9vdDogJjtcbiAgICBAaW5jbHVkZSBwcmljZUJveCgpO1xuICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxuICAgIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfbGFiZWwtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAkcHJpY2UtYm94X2xhYmVsLW1hcmdpbiAkcHJpY2UtYm94X2xhYmVsLW1hcmdpbiAwO1xuXG4gICAgICAgICAgICBAaWYgKCRwcmljZS1ib3hfbGFiZWwtZGlzcGxheS1jb2xvbikge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBib2R5Om5vdCgucGFnZS1wcm9kdWN0LWJ1bmRsZSwgLnBhZ2UtcHJvZHVjdC1ncm91cGVkKVxuICAgICAgICAgICAgICAgIHA6bm90KC5wcmljZS1mcm9tLCAucHJpY2UtdG8pXG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGNvbmZpZ3VyYWJsZS1wcm9kdWN0cy1zaG93LWZyb20tcHJpY2UtbGFiZWwge1xuICAgICAgICAubm9ybWFsLXByaWNlIHtcbiAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5wcmljZS1mcm9tLFxuICAgIC5wcmljZS10byB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfbGFiZWwtZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub2xkLXByaWNlIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uO1xuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1mcm9tIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgIH1cblxuICAgIC4jeyRuc31wcmljZS0tcGRwX2RhaWx5ZGVhbC1jb3VudGRvd24gJiB7XG4gICAgICAgICY6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtY29udGFpbmVyLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcmljZS1jb250YWluZXIsICAgICAgICBcbiAgICAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIHsgICAgICAgIFxuICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgJjpiZWZvcmUgeyAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBcbiAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICY6YmVmb3JlIHsgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQ0NDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkOyAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9IFxuICAgIH1cbiAgICAub2xkLXByaWNlIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgJjpiZWZvcmUgeyAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkOyAgICAgIFxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgIFxuICAgIH1cbn1cblxuLiN7JG5zfWJ1bmRsZS1ib3hfX2FkZCB7XG4gICAgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICAgICAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIH1cbn1cblxuLm1pbmltYWwtcHJpY2UtbGluayB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnLSc7XG4gICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuXG5cbiIsIi8vIHByaWNlLWJveFxuLy8gVGhpcyBjb21wb25lbnQgaXMgcmVzcG9uc2libGUgZm9yIHN0eWxpbmcgcHJpY2VzIGJ5IG1hcmt1cCBwcm92aWRlZCBieSBNYWdlbnRvMlxuLy9cbi8vIFNlZSBodHRwOi8vd2FycHNwaXJlLmNvbS9rc3MvIGZvciBkb2N1bWVudGF0aW9uIGd1aWRlbGluZXMuXG4vLyBWZXJzaW9uIDAuMC4xXG5AbWl4aW4gcHJpY2VCb3goKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLnByaWNlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub2xkLXByaWNlIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT2xkIHByaWNlIHNob3VsZCBub3QgYmUgZGlzcGxheWVkIGZvciBwcmljZXMgd2hlcmUgbm9ybWFsIHByaWNlIGlzIFwiQXMgbG93IGFzIHtwcmljZX1cIlxuICAgICAgICAmLm5vLWRpc3BsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC40ZW07XG4gICAgfVxufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG4gKiBCZWNhdXNlIHByaWNlLWJveCBpcyB1c2VkIGluIG11bHRpcGxlIGNvbXBvbmVudHMgbGlrZSB0aWxlLCBidXlib3ggZXRjLFxuICogd2UgbmVlZCB0byBtb3ZlIHZhcmlhYmxlcyB0byBzZXBhcmF0ZSBmaWxlIHRvIGhhdmUgcG9zc2liaWxpdHkgdG8gaW5jbHVkZSB0aGVtXG4gKiBpbiBlYWNoIGNvbXBvbmVudCB3aXRob3V0IGdlbmVyYXRlIHByaWNlLWJveCBjb21wb25lbnQgc3R5bGVzIG11bHRpcGxlIHRpbWVzXG4qL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4gKiBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC85ZmExOWQyNTQ4NjRmMzNkNGE4MFxuICogQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKipcbiAqIFVzaW5nIHBzdWVkbyBlbGVtZW50cyB0byBtYWludGFpbiBhbiBlbGVtZW50cyBhc3BlY3QgcmF0aW8sIGV2ZW4gYXMgaXQgc2NhbGVzXG4gKiBJdCdzIHVzaW5nIG9ubHkgZm9yIElFMTEgYW5kIEVkZ2UgKHZlcnNpb24gd2hpY2ggZG9lc24ndCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCkgYnJvd3NlcnNcbiAqIEZvciBicm93c2VycyB3aGljaCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCwgd2UgYXJlIHVzaW5nIG1peGlucyBjb250YWluIGByZXNldGAgaW4gbWl4aW4gbmFtZVxuICogdG8gb3ZlcnJpZGUgZGVmYXVsdCBtaXhpbnMgKHByb2dyZXNzaXZlIGVuaGFuY2VtZW50KVxuICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL21haW50YWluLWFzcGVjdC1yYXRpby1taXhpbi9cbiAqIEBwYXJhbSB7bnVtYmVyfSAkd2lkdGg6IHdpZHRoIG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtudW1iZXJ9ICRoZWlnaHQ6IGhlaWdodCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkY29udGVudENsYXNzOiBjbGFzcyBvZiB0aGUgZGlyZWN0IGNoaWxkIGVsZW1lbnQgdG8gYmUgcG9zaXRpb25lZCBhYnNvbHV0ZWx5O1xuICogQHBhcmFtIHtib29sZWFufSAkYXV0b3Bvc2l0aW9uOiB0ZWxscyBpZiBpdGVtIHNoYWxsIHRha2UgMTAwJSBvZiBwYXJlbnQgc2l6ZSBvciBpZiBpdCBjYW4gYmUgd2lkZXIvaGlnaGVyIGlmIG5lZWRlZDtcbiAqL1xuLyoqXG4gKiBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuICogaHR0cHM6Ly93d3cuc2Fzc21laXN0ZXIuY29tL2dpc3QvOWZhMTlkMjU0ODY0ZjMzZDRhODBcbiAqIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuICogQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuICogQHJldHVybiB7TnVtYmVyfVxuICovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5jcy1wcm9kdWN0LXRpbGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIge1xuICAgICAgei1pbmRleDogNTsgfSB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWNsaWNrYWJsZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWhpZGRlbiAuY3MtcHJvZHVjdC10aWxlX19tYWluLFxuICAuY3MtcHJvZHVjdC10aWxlLS1oaWRkZW4gLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkLmNzLXByb2R1Y3QtdGlsZS0tc3RhdGljIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgcGFkZGluZzogMCAxLjVyZW0gMCAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC1ncm93OiBpbml0aWFsOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtIDAgMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluazpob3ZlciwgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdG9wOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTI1LjcxNDI5JTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlIHtcbiAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlIHtcbiAgICAgICAgICB3aWR0aDogNXJlbTsgfSB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcy0tZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMtLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwLjNyZW07XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjNyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBwYWRkaW5nOiAwIDAuN3JlbTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyMy4xMjVlbSkgYW5kIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2Uge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLW5ldyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdiODQxO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3Yjg0MTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0MWYxMjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGFpbHlkZWFsIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAxcmVtIDAuM3JlbSAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbTplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZ2FsbGVyeSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvcGFjaXR5OiBpbml0aWFsO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICAgICAgZmxleDogMCAwIDI1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuNXJlbTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmMGYwZjA7IH0gfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxleDogMCAwIDI1cmVtO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2YwZjBmMDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmc6IGNhbGMoMTMwJSArIDEwcmVtKSAxLjVyZW0gMS41cmVtO1xuICAgICAgYm94LXNoYWRvdzogMXB4IDNweCAzcmVtIDAgcmdiYSgzMywgMzMsIDMzLCAwLjI4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTNyZW0sIDApOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhciwgdHJhbnNmb3JtIDAuMzNzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIC5jcy1wcm9kdWN0LXRpbGUubm8tdHJhbnNpdGlvbixcbiAgICAuY3MtcHJvZHVjdC10aWxlLS1zdGF0aWMgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtdG9wIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXRvcCB7XG4gICAgICBmbGV4OiAxOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1zaWRlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXJpZ2h0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXJpZ2h0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgb3JkZXI6IC0xOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1ib3R0b20ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWJvdHRvbSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1ib3R0b20ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtbGVmdCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1sZWZ0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBvcmRlcjogMjsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWdyaWQge1xuICAgIG1hcmdpbjogMXJlbSAwIDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3Qge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDJyZW07IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3QgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnJlbTsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1saXN0IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAycmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1saXN0ICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnJlbTsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXc6ZW1wdHkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrLS1pbiB7XG4gICAgICBjb2xvcjogIzM3Yjg0MTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrLS1vdXQge1xuICAgICAgY29sb3I6ICNlNDFmMTI7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2sge1xuICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1ncmlkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1saXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbC0tbGlzdC5jcy1kYWlseWRlYWwtLXRpbGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBib3R0b206IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3F0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB3aWR0aDogMTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07IH0gfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwIDFyZW07XG4gICAgICBtaW4taGVpZ2h0OiAyLjZyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMsXG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAwLjVyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXM6ZW1wdHkge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMsXG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcy0tbGlzdDplbXB0eSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19icmFuZCB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19icmFuZC0tZW1wdHkge1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19icmFuZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcmRlcjogLTI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjODg4OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIGhlaWdodDogMy44cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzID4gLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19icmFuZCArIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyA+IC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kLS1lbXB0eSArIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgaGVpZ2h0OiA1LjhyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZS1saW5rIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgLyogZGlzYWJsZWQgYmVjYXVzZSBhdXRvcHJlZml4ZXIgY2FuJ3QgYnVpbGQgdGhpcyAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIGxpbmUtY2xhbXA6IDI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqLyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZS1saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbjplbXB0eSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRpdGlvbmFsLS1saXN0IHtcbiAgICBtYXJnaW46IGF1dG8gMCAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19hZGRpdGlvbmFsLS1saXN0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19hZGRpdGlvbmFsLS1saXN0IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLS1ncmlkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8tLWxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLFxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvOmVtcHR5IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LXJlbW92ZS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgZmlsbDogIzg4ODsgfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1jb21tZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1jb21tZW50IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAvKiAxICovIH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UtLWdyaWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UtLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICAgICAgb3JkZXI6IC0xOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnByaWNlLXdyYXBwZXIge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5vbGQtcHJpY2Uge1xuICAgICAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnByaWNlLWZyb20ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94Om5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UtLWRhaWx5ZGVhbC1jb3VudGRvd24gLnByaWNlLWJveC5wcmljZS1ib3gtLXZpc2libGUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuXG4uY3MtcHJvZHVjdC10aWxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciB7XG4gICAgICB6LWluZGV4OiA1OyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0taGlkZGVuIC5jcy1wcm9kdWN0LXRpbGVfX21haW4sXG4gIC5jcy1wcm9kdWN0LXRpbGUtLWhpZGRlbiAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQuY3MtcHJvZHVjdC10aWxlLS1zdGF0aWMgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogNHJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgcGFkZGluZzogMCA0cmVtIDAgMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogaW5pdGlhbDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiAwIDRyZW0gMCAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rOmhvdmVyLCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDUuNzE0MjklOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgICAgIHdpZHRoOiA1cmVtOyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19pbWFnZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2ltZyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMtLWdyaWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzLS1saXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMC4zcmVtO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMC4zcmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgcGFkZGluZzogMCAwLjdyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4taGVpZ2h0OiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjMuMTI1ZW0pIGFuZCAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLW5ldyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLW5ldyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLW5ldyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3Yjg0MTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzN2I4NDE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGFpbHlkZWFsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNDFmMTI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGFpbHlkZWFsIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGFpbHlkZWFsIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjVyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbSB7XG4gICAgICBtYXJnaW46IDAgMXJlbSAwLjNyZW0gMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLWl0ZW06ZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2dhbGxlcnkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG9wYWNpdHk6IGluaXRpYWw7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgICAgICBmbGV4OiAwIDAgMjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgNHJlbTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmMGYwZjA7IH0gfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyNXJlbTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmMGYwZjA7IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nOiBjYWxjKDEzNSUgKyAxMHJlbSkgNHJlbSA0cmVtO1xuICAgICAgYm94LXNoYWRvdzogMXB4IDNweCAzcmVtIDAgcmdiYSgzMywgMzMsIDMzLCAwLjI4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTNyZW0sIDApOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhciwgdHJhbnNmb3JtIDAuMzNzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIC5jcy1wcm9kdWN0LXRpbGUubm8tdHJhbnNpdGlvbixcbiAgICAuY3MtcHJvZHVjdC10aWxlLS1zdGF0aWMgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtdG9wIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXRvcCB7XG4gICAgICBmbGV4OiAxOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1zaWRlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgICB3aWR0aDogMzAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtcmlnaHQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtcmlnaHQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWJvdHRvbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1ib3R0b20ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtYm90dG9tIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgd2lkdGg6IDcwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1sZWZ0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBvcmRlcjogMjsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWdyaWQge1xuICAgIG1hcmdpbjogMXJlbSAwIDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3Qge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDJyZW07IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3QgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnJlbTsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1saXN0IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAycmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1saXN0ICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnJlbTsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXc6ZW1wdHkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrLS1pbiB7XG4gICAgICBjb2xvcjogIzM3Yjg0MTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrLS1vdXQge1xuICAgICAgY29sb3I6ICNlNDFmMTI7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2sge1xuICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1ncmlkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1saXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbC0tbGlzdC5jcy1kYWlseWRlYWwtLXRpbGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBib3R0b206IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3F0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB3aWR0aDogMTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogbm9ybWFsOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07IH0gfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwIDFyZW07XG4gICAgICBtaW4taGVpZ2h0OiAyLjZyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMsXG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMC41cmVtOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzOmVtcHR5IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzLFxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMtLWxpc3Q6ZW1wdHkge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19icmFuZCB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQtLWVtcHR5IHtcbiAgICAgIGhlaWdodDogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3JkZXI6IC0yO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19icmFuZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzg4ODsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyA+IC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzID4gLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQtLWVtcHR5ICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBoZWlnaHQ6IDcuNnJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbmsge1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1pbi1oZWlnaHQ6IDdyZW07XG4gICAgLyogZGlzYWJsZWQgYmVjYXVzZSBhdXRvcHJlZml4ZXIgY2FuJ3QgYnVpbGQgdGhpcyAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIGxpbmUtY2xhbXA6IDM7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqLyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZS1saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbjplbXB0eSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRpdGlvbmFsLS1saXN0IHtcbiAgICBtYXJnaW46IGF1dG8gMCAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19hZGRpdGlvbmFsLS1saXN0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19hZGRpdGlvbmFsLS1saXN0IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGR0by0tZ3JpZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLS1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8ge1xuICAgIG1hcmdpbjogMXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byxcbiAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtcHJvZHVjdHMtZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGR0bzplbXB0eSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8gLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtLS13aXNobGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8gLmNzLWxpbmtzLWJsb2NrLWFkZHRvLS1ncmlkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0LWJ1dHRvbi5idXR0b25fY29uZmlndXJlIHtcbiAgICAgIHotaW5kZXg6IC05OTk7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNHJlbTsgfVxuICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgZmlsbDogIzg4ODsgfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1jb21tZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1jb21tZW50IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAvKiAxICovIH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UtLWdyaWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UtLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSAucHJpY2UtbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5vbGQtcHJpY2Uge1xuICAgICAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnByaWNlLXdyYXBwZXIge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5vbGQtcHJpY2Uge1xuICAgICAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnByaWNlLWZyb20ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94Om5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UtLWRhaWx5ZGVhbC1jb3VudGRvd24gLnByaWNlLWJveC5wcmljZS1ib3gtLXZpc2libGUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuIiwiLyoqXG4gKiBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuICogaHR0cHM6Ly93d3cuc2Fzc21laXN0ZXIuY29tL2dpc3QvOWZhMTlkMjU0ODY0ZjMzZDRhODBcbiAqIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuICogQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuICogQHJldHVybiB7TnVtYmVyfVxuICovXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAgICAgJF86IGxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgICB9XG5cbiAgICAkcmVzdWx0OiAwO1xuICAgICRkaWdpdHM6IDA7XG4gICAgJG1pbnVzOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKSA9PSAnLSc7XG4gICAgJG51bWJlcnM6IChcbiAgICAgICAgJzAnOiAwLFxuICAgICAgICAnMSc6IDEsXG4gICAgICAgICcyJzogMixcbiAgICAgICAgJzMnOiAzLFxuICAgICAgICAnNCc6IDQsXG4gICAgICAgICc1JzogNSxcbiAgICAgICAgJzYnOiA2LFxuICAgICAgICAnNyc6IDcsXG4gICAgICAgICc4JzogOCxcbiAgICAgICAgJzknOiA5LFxuICAgICk7XG5cbiAgICBAZm9yICRpIGZyb20gaWYoJG1pbnVzLCAyLCAxKSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICAgICAgQGlmIG5vdChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRvLWxlbmd0aChcbiAgICAgICAgICAgICAgICBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSxcbiAgICAgICAgICAgICAgICBzdHItc2xpY2UoJHZhbHVlLCAkaSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICAgICAgICAkZGlnaXRzOiAxO1xuICAgICAgICB9IEBlbHNlIGlmICgkZGlnaXRzID09IDApIHtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2Nzcyc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvYXNwZWN0LXJhdGlvJztcbkBpbXBvcnQgJ3V0aWxzL3N0cmluZy10by1udW1iZXInO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4vLyBHZW5lcmFsXG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI6IDEuNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXI6IDJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbi1icmVha3BvaW50OiAnPj1sYXB0b3AnICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWJveC1zaGFkb3c6ICRib3gtc2hhZG93X2Jhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfcGFkZGluZzogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FsaWdubWVudDogY2VudGVyICFkZWZhdWx0OyAvLyBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzLWJyZWFrcG9pbnQ6ICc+PWxhcHRvcCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9wYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7IC8vIGxlZnQgfCBjZW50ZXIgfCByaWdodFxuJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludDogJ3RhYmxldCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludDogJ2xhcHRvcCcgIWRlZmF1bHQ7XG5cbi8vIFByb2R1Y3QgbmFtZVxuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5OiAyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ6IDEuOHJlbSAhZGVmYXVsdDsgLy8gTVVTVCBCRSBhIG51bWJlciB2YWx1ZSB3aXRoIHVuaXQsIGNhbm5vdCBiZSAnaW5oZXJpdCdcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3I6ICRjb2xvcl9taW5lc2hhZnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLXZpc2l0ZWQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLW1hcmdpbjogMCAwIDEuNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIEJhZGdlc1xuJHByb2R1Y3QtdGlsZV9iYWRnZXMtei1pbmRleDogMiAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtZGlyZWN0aW9uOiAndmVydGljYWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi1wcm9wOiB0b3AgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wOiBsZWZ0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy15LWFzaXMtcG9zaXRpb24tdmFsdWU6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi12YWx1ZTogMC4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy1pdGVtLW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgNH0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLWRpcmVjdGlvbjogJ2hvcml6b250YWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wOiBsZWZ0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1tYXJnaW46IDAgMCAwIDAuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtaXRlbS1tYXJnaW46IDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyfSAwLjNyZW0gMCAhZGVmYXVsdDtcblxuLy8gU3dhdGNoZXNcbiRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1jb250YWluZXItbWluLWhlaWdodDogMi42cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLW1hcmdpbjogMS41cmVtIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyfSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc3dhdGNoZXMtbWFyZ2luOiAwIDAgMC41cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gQnJhbmRcbiRwcm9kdWN0LXRpbGVfYnJhbmQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2JyYW5kLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2JyYW5kLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9icmFuZC1hbGlnbm1lbnQ6IGNlbnRlciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLW9yZGVyOiAtMiAhZGVmYXVsdDtcblxuLy8gQWRkb25zXG4kcHJvZHVjdC10aWxlX2FkZG9ucy1iYWNrZ3JvdW5kOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkb25zLWJvcmRlci1yYWRpdXM6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9hZGRvbnMtemluZGV4LWhvdmVyOiA1ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9hZGRvbnMtaG9yaXpvbnRhbC1wYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZG9ucy1zaG93LWZvci1zdGF0aWMtdGlsZTogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkb25zLWhlaWdodC1vbi1ob3ZlcjogY2FsYygxMzAlICsgMTByZW0pXG4gICAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtd2lkdGg6IDI1cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1ib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItMjAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1vbmUtY29sdW1uLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyfSAwIDAgIWRlZmF1bHQ7XG5cbi8vIEFkZGl0aW9uYWwgc2VjdGlvblxuJHByb2R1Y3QtdGlsZS1saXN0X2FkZGl0aW9uYWwtbWFyZ2luOiBhdXRvIDAgMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZGl0aW9uYWwtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBSZXZpZXdcbiRwcm9kdWN0LXRpbGUtZ3JpZF9yZXZpZXctbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwXG4gICAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9yZXZpZXctbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyfSAhZGVmYXVsdDtcblxuLy8gQWRkdG9cbiRwcm9kdWRjdC10aWxlX2FkZHRvLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMCAwICFkZWZhdWx0O1xuXG4vLyBRdHkgc3dpY3RoZXJcbiRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci13aWR0aDogMTFyZW0gIWRlZmF1bHQ7XG4kcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItc3BhY2UtYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLyBBZGR0b2NhcnRcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0b2NhcnQtbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfVxuICAgIDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGR0b2NhcnQtbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyA0fVxuICAgIDAgMCAhZGVmYXVsdDtcblxuLy8gU3RvY2tcbiRwcm9kdWN0LXRpbGVfc3RvY2stZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3N0b2NrLWluLWNvbG9yOiAkY29sb3JfYXBwbGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3N0b2NrLW91dC1vZi1jb2xvcjogJGNvbG9yX2NyaW1zb24gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGUtZ3JpZF9zdG9jay1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc3RvY2stbWFyZ2luOiAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9IDBcbiAgICAwICFkZWZhdWx0O1xuXG4vLyBEYWlseSBEZWFsXG4kcHJvZHVjdC10aWxlLWdyaWRfZGFpbHlkZWFsLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9kYWlseWRlYWwtbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfVxuICAgIDAgMCAwICFkZWZhdWx0O1xuXG4vLyBXaXNobGlzdFxuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1jb21tZW50LXZpc2libGU6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1jb21tZW50LXRleHRhcmVhLWhlaWdodDogNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1maWxsOiAkY29sb3JfYm9yZGVyLTcwMCAhZGVmYXVsdDtcblxuLy8gRGVzY3JpcHRpb25cbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tY29sb3I6ICRjb2xvcl9kb3ZlLWdyYXkgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGUtbGlzdF9kZXNjcmlwdGlvbi10ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBUaHVtYm5haWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9saW1pdC1jb250YWluZXItdG8taW1hZ2Utc2l6ZTogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aC1tb2JpbGU6ICN7JHByb2R1Y3QtdGlsZS1saXN0X3RodW1ibmFpbC1ib3gtd2lkdGggL1xuICAgIDJ9ICFkZWZhdWx0O1xuXG4vLyBQcmljZXNcbiRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjogJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWRpcmVjdGlvbjogJ2hvcml6b250YWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdDogdHJ1ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3ByaWNlcy1kaXJlY3Rpb246ICd2ZXJ0aWNhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtbGlzdF9wcmljZXMtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0OiB0cnVlICFkZWZhdWx0O1xuXG4vLyBIZWxwZXJzIChkb24ndCBlZGl0KVxuJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluOiAnPj0jeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnR9JztcbiRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1heDogJzwjeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnR9JztcbiRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pbjogJz49I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludH0nO1xuJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWF4OiAnPCN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnR9JztcblxuJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2U6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICBtZWRpYSxcbiAgICBpbWFnZXMsXG4gICAgaW1hZ2UsXG4gICAgY2F0ZWdvcnlfcGFnZV9ncmlkXG4pO1xuJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGg6IHRvLW51bWJlcihcbiAgICAje21hcC1nZXQoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UsIHdpZHRoKX1cbik7XG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS1oZWlnaHQ6IHRvLW51bWJlcihcbiAgICAje21hcC1nZXQoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UsIGhlaWdodCl9XG4pO1xuXG4uI3skbnN9cHJvZHVjdC10aWxlIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJhY2tncm91bmQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAkcHJvZHVjdC10aWxlX2FkZG9ucy16aW5kZXgtaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jbGlja2FibGUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhpZGRlbiB7XG4gICAgICAgICN7JHJvb3R9X19tYWluLFxuICAgICAgICAjeyRyb290fV9fYWRkb25zIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGlzdCB7XG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgI3stJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyfTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAxMDAlICsgMiAqICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ncmlkIHtcbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfYWRkb25zLXNob3ctZm9yLXN0YXRpYy10aWxlID09IGZhbHNlKSB7XG4gICAgICAgICAgICAmI3skcm9vdH0tLXN0YXRpYyB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2FkZG9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlLWdyaWRfcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGUtbGlzdF9wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyIDAgMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogaW5pdGlhbDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50ICE9XG4gICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyICYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlndXJlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIElFMTEgLSBwcmV2ZW50cyBmcm9tIGV4Y2Vzc2l2ZSB0cmFuc2l0aW9uIGVmZmVjdFxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IC8vIElFMTEgZG8gbm90IHJlc3BlY3QgY2VudGVyIHZhbHVlIHVudGlsIHBhcmVudCBoYXMgZmxleC1kaXJlY3Rpb24gc2V0IHRvIGNvbHVtbi5cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2xpbWl0LWNvbnRhaW5lci10by1pbWFnZS1zaXplKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGggLyAxMCkgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS1oZWlnaHQgLyAxMCkgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBc3BlY3QgcmF0aW8gZm9yIHRpbGUgdGh1bWJuYWlsIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gaW1hZ2UgJ2NhdGVnb3J5X3BhZ2VfZ3JpZCcgc2l6ZXMgaW4gZXRjL3ZpZXcueG1sXG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGgsXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICN7JG5zfXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmtcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBJRTExIGRvIG5vdCByZXNwZWN0IGNlbnRlciB2YWx1ZSB1bnRpbCBwYXJlbnQgaGFzIGZsZXgtZGlyZWN0aW9uIHNldCB0byBjb2x1bW4uXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aC1tb2JpbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX2JhZGdlcyB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAkcHJvZHVjdC10aWxlX2JhZGdlcy16LWluZGV4O1xuXG4gICAgICAgICAgICAjeyRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXByb3B9OiAkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi12YWx1ZTtcbiAgICAgICAgICAgICN7JHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcH06ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXZhbHVlO1xuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtZGlyZWN0aW9uID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtbWFyZ2luO1xuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3AgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmXG4gICAgICAgICAgICAgICAgKCRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3AgPT0gJ2NlbnRlcicpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1kaXJlY3Rpb24gPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlKCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJywgJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaXNjb3VudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkaXNjb3VudCcpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZGlzY291bnQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ldyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCduZXcnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ25ldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wb3B1bGFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3BvcHVsYXInKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3BvcHVsYXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhaWx5ZGVhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkYWlseWRlYWwnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2RhaWx5ZGVhbCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2UtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgLy8gU2V0IHdpZHRoIGV4cGxpY2l0bHkgdG8gYXZvaWQgRWRnZSBidWdzXG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1pdGVtLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCk7XG4gICAgfVxuXG4gICAgJl9fZ2FsbGVyeSB7XG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV9hZGRvbnMtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2R1Y3QtdGlsZV9hZGRvbnMtYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtb25lLWNvbHVtbi1tYXJnaW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3BhY2l0eTogaW5pdGlhbDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtd2lkdGg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLWJvcmRlci1sZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1vbmUtY29sdW1uLW1hcmdpbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtYm9yZGVyLWxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlLWdyaWRfYWRkb25zLWhlaWdodC1vbi1ob3ZlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1ib3gtc2hhZG93O1xuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb24pIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zcmVtLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9OmhvdmVyICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjMzcyAkdHJhbnNpdGlvbi1lYXNpbmdfc2xvd2Rvd24tOTAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vZGlzYWJsaW5nIGhvdmVyIGVmZmVjdCBvbiBpcGFkc1xuICAgICAgICAgICAgICAgIEBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9Lm5vLXRyYW5zaXRpb24sXG4gICAgICAgICAgICAjeyRyb290fS0tc3RhdGljICYge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMtdG9wIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLXNpZGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcHJvZHVjdC10aWxlX2FkZG9ucy1ob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZG9ucy1ib3R0b20ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZG9ucy1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHByb2R1Y3QtdGlsZV9hZGRvbnMtaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXZpZXcge1xuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3Jldmlldy1tYXJnaW47XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X3Jldmlldy1tYXJnaW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXI7XG5cbiAgICAgICAgICAgICAgICArIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICAgICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogaW5pdGlhbDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfcmV2aWV3LW1hcmdpbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0b2NrIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfc3RvY2stZm9udC1zaXplO1xuXG4gICAgICAgICYtLWluIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3N0b2NrLWluLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tb3V0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3N0b2NrLW91dC1vZi1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfc3RvY2stbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9zdG9jay1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kYWlseWRlYWwge1xuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3MtZGFpbHlkZWFsLS10aWxlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9kYWlseWRlYWwtbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9kYWlseWRlYWwtbWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXR5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXNwYWNlLWJvdHRvbTtcbiAgICAgICAgd2lkdGg6ICRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zd2F0Y2hlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1tYXJnaW47XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtY29udGFpbmVyLW1pbi1oZWlnaHQ7XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1hbGlnbm1lbnQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtYWxpZ25tZW50ID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLW1hcmdpbjtcblxuICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3Rfc3dhdGNoZXMtYWxpZ25tZW50ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLWFsaWdubWVudCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZCB7XG4gICAgICAgIGhlaWdodDogJHByb2R1Y3QtdGlsZV9icmFuZC1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1ncmlkX2JyYW5kLWFsaWdubWVudDtcblxuICAgICAgICAmLS1lbXB0eSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLW1hcmdpbjtcbiAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtb3JkZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtYWxpZ25tZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9icmFuZC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX2JyYW5kLWNvbG9yO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXNpemU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXkgPT0gMSkge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5ICpcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodCArIDAuMjtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1tYXJnaW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLWFsaWdubWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAjeyRyb290fV9fZGV0YWlscyA+ICN7JHJvb3R9X19icmFuZCArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gI3skcm9vdH1fX2JyYW5kLS1lbXB0eSArICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSAqXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQgKyAwLjIgK1xuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9wcm9kdWN0LW5hbWUtbWFyZ2luO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYW1lLWxpbmsge1xuICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvcjtcblxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvciAhPVxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBkaXNhYmxlZCBiZWNhdXNlIGF1dG9wcmVmaXhlciBjYW4ndCBidWlsZCB0aGlzICovXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5ID4gMSkge1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheTtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGxpbmUtY2xhbXA6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItdmlzaXRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbWFyZ2luO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWxpc3RfZGVzY3JpcHRpb24tdGV4dC1hbGlnbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRpdGlvbmFsIHtcbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLW1hcmdpbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvIHtcbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0by1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWRjdC10aWxlX2FkZHRvLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCAmLFxuICAgICAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0b2NhcnQge1xuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvY2FydC1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvY2FydC1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0b2NhcnQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tYmFja2dyb3VuZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGUtZ3JpZF9wYWRkaW5nO1xuXG4gICAgICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LXJlbW92ZS1pY29uLWltYWdlIHtcbiAgICAgICAgd2lkdGg6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLXNpemU7XG4gICAgICAgIGZpbGw6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tZmlsbDtcbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1jb21tZW50IHtcbiAgICAgICAgQGlmIG5vdCgkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWNvbW1lbnQtdmlzaWJsZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLW1hcmdpbjtcbiAgICAgICAgZGlzcGxheTogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWRpc3BsYXk7XG5cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheSA9PSBmbGV4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS10ZXh0LWRlY29yYXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtbWFyZ2luO1xuXG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtZGlyZWN0aW9uID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtZnJvbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudCA9PSAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1hbGlnbm1lbnQgPT0gJ3JpZ2h0JylcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9wcmljZXMtbWFyZ2luO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0KSB7XG4gICAgICAgICAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfcHJpY2VzLWRpcmVjdGlvbiA9PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAgICAgLnByaWNlLWZyb20ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS1mcm9tLFxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtdG8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgJjpub3QoLnByaWNlLWZpbmFsX3ByaWNlX3dpdGhvdXRfZGFpbHlfZGVhbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucHJpY2UtYm94LS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2Nzcyc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvYXNwZWN0LXJhdGlvJztcbkBpbXBvcnQgJ3V0aWxzL3N0cmluZy10by1udW1iZXInO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG5AaW1wb3J0ICd+Q3JlYXRpdmVzaG9wL2NvbXBvbmVudHMvcHJvZHVjdC10aWxlL3Byb2R1Y3QtdGlsZS5zY3NzJztcblxuLy8gR2VuZXJhbFxuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyOiA0cmVtO1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlcjogMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbjogdHJ1ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb24tYnJlYWtwb2ludDogJz49bGFwdG9wJyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1ib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3BhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQ6IGxlZnQ7IC8vIGxlZnQgfCBjZW50ZXIgfCByaWdodFxuJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHM6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMtYnJlYWtwb2ludDogJz49bGFwdG9wJyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1ib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3BhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudDogbGVmdCAhZGVmYXVsdDsgLy8gbGVmdCB8IGNlbnRlciB8IHJpZ2h0XG4kcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50OiAndGFibGV0JyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50OiAnbGFwdG9wJyAhZGVmYXVsdDtcblxuLy8gUHJvZHVjdCBuYW1lXG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXNpemU6IDEuOHJlbTtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0OiA3MDA7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheTogMztcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0OiAxLjhyZW0gIWRlZmF1bHQ7IC8vIE1VU1QgQkUgYSBudW1iZXIgdmFsdWUgd2l0aCB1bml0LCBjYW5ub3QgYmUgJ2luaGVyaXQnXG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItdmlzaXRlZDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvcjtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtbWFyZ2luOiAwIDAgMS41cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJvZHVjdC1uYW1lLW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJvZHVjdC1uYW1lLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gQmFkZ2VzXG4kcHJvZHVjdC10aWxlX2JhZGdlcy16LWluZGV4OiAyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy1kaXJlY3Rpb246ICd2ZXJ0aWNhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXByb3A6IHRvcCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3A6IGxlZnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi12YWx1ZTogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXZhbHVlOiAwLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWl0ZW0tbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDR9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1kaXJlY3Rpb246ICdob3Jpem9udGFsJyAhZGVmYXVsdDsgLy8gdmVydGljYWwgb3IgaG9yaXpvbnRhbFxuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcDogbGVmdCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtbWFyZ2luOiAwIDAgMCAwLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLWl0ZW0tbWFyZ2luOiAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gMC4zcmVtIDAgIWRlZmF1bHQ7XG5cbi8vIFN3YXRjaGVzXG4kcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtY29udGFpbmVyLW1pbi1oZWlnaHQ6IDIuNnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1tYXJnaW46IDEuNXJlbSAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJ9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1ncmlkX2FsaWdubWVudDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1tYXJnaW46IDAgMCAwLjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc3dhdGNoZXMtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBCcmFuZFxuJHByb2R1Y3QtdGlsZV9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JyYW5kLWFsaWdubWVudDogY2VudGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLWFsaWdubWVudDogbGVmdCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtb3JkZXI6IC0yICFkZWZhdWx0O1xuXG4vLyBBZGRvbnNcbiRwcm9kdWN0LXRpbGVfYWRkb25zLWJhY2tncm91bmQ6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kO1xuJHByb2R1Y3QtdGlsZV9hZGRvbnMtYm9yZGVyLXJhZGl1czogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy16aW5kZXgtaG92ZXI6IDUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy1ob3Jpem9udGFsLXBhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuMiAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtc2hvdy1mb3Itc3RhdGljLXRpbGU6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZG9ucy1oZWlnaHQtb24taG92ZXI6IGNhbGMoMTM1JSArIDEwcmVtKVxuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtd2lkdGg6IDI1cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1ib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItMjAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1vbmUtY29sdW1uLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gMCAwICFkZWZhdWx0O1xuXG4vLyBBZGRpdGlvbmFsIHNlY3Rpb25cbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLW1hcmdpbjogYXV0byAwIDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gUmV2aWV3XG4kcHJvZHVjdC10aWxlLWdyaWRfcmV2aWV3LW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMFxuMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9yZXZpZXctbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyfSAhZGVmYXVsdDtcblxuLy8gQWRkdG9cbiRwcm9kdWRjdC10aWxlX2FkZHRvLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMCAwICFkZWZhdWx0O1xuXG4vLyBRdHkgc3dpY3RoZXJcbiRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci13aWR0aDogMTFyZW0gIWRlZmF1bHQ7XG4kcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItc3BhY2UtYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLyBBZGR0b2NhcnRcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0b2NhcnQtbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfVxuMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvY2FydC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDR9XG4wIDAgIWRlZmF1bHQ7XG5cbi8vIFN0b2NrXG4kcHJvZHVjdC10aWxlX3N0b2NrLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zdG9jay1pbi1jb2xvcjogJGNvbG9yX2FwcGxlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zdG9jay1vdXQtb2YtY29sb3I6ICRjb2xvcl9jcmltc29uICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlLWdyaWRfc3RvY2stbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3N0b2NrLW1hcmdpbjogMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwXG4wICFkZWZhdWx0O1xuXG4vLyBEYWlseSBEZWFsXG4kcHJvZHVjdC10aWxlLWdyaWRfZGFpbHlkZWFsLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9kYWlseWRlYWwtbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfVxuMCAwIDAgIWRlZmF1bHQ7XG5cbi8vIFdpc2hsaXN0XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWNvbW1lbnQtdmlzaWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWNvbW1lbnQtdGV4dGFyZWEtaGVpZ2h0OiA1cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1maWxsOiAkY29sb3JfYm9yZGVyLTcwMCAhZGVmYXVsdDtcblxuLy8gRGVzY3JpcHRpb25cbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tY29sb3I6ICRjb2xvcl9kb3ZlLWdyYXkgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGUtbGlzdF9kZXNjcmlwdGlvbi10ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBUaHVtYm5haWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9saW1pdC1jb250YWluZXItdG8taW1hZ2Utc2l6ZTogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aC1tb2JpbGU6ICN7JHByb2R1Y3QtdGlsZS1saXN0X3RodW1ibmFpbC1ib3gtd2lkdGggL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJ9ICFkZWZhdWx0O1xuXG4vLyBQcmljZXNcbiRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjogJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWRpcmVjdGlvbjogJ2hvcml6b250YWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdDogdHJ1ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50O1xuJHByb2R1Y3QtdGlsZS1saXN0X3ByaWNlcy1kaXJlY3Rpb246ICd2ZXJ0aWNhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtbGlzdF9wcmljZXMtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0OiB0cnVlICFkZWZhdWx0O1xuXG4vLyBIZWxwZXJzIChkb24ndCBlZGl0KVxuJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluOiAnPj0jeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnR9JztcbiRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1heDogJzwjeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnR9JztcbiRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pbjogJz49I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludH0nO1xuJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWF4OiAnPCN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnR9JztcblxuJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2U6IGRlZXAtZ2V0KFxuJHZpZXcteG1sLFxubWVkaWEsXG5pbWFnZXMsXG5pbWFnZSxcbmNhdGVnb3J5X3BhZ2VfZ3JpZFxuKTtcbiRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLXdpZHRoOiB0by1udW1iZXIoXG4je21hcC1nZXQoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UsIHdpZHRoKX1cbik7XG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS1oZWlnaHQ6IHRvLW51bWJlcihcbiN7bWFwLWdldCgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZSwgaGVpZ2h0KX1cbik7XG5cbi4jeyRuc31wcm9kdWN0LXRpbGUge1xuICAgICRyb290OiAmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYmFja2dyb3VuZDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb24tYnJlYWtwb2ludCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6ICRwcm9kdWN0LXRpbGVfYWRkb25zLXppbmRleC1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNsaWNrYWJsZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgI3skcm9vdH1fX21haW4sXG4gICAgICAgICN7JHJvb3R9X19hZGRvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1saXN0IHtcbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItZWZmZWN0cykge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAjey0kcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXJ9O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgKyAyICogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWdyaWQge1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtc2hvdy1mb3Itc3RhdGljLXRpbGUgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICYjeyRyb290fS0tc3RhdGljIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fYWRkb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGUtZ3JpZF9wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZS1saXN0X3BhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgMCAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZmxleC1ncm93OiBpbml0aWFsO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gSUUxMSAtIHByZXZlbnRzIGZyb20gZXhjZXNzaXZlIHRyYW5zaXRpb24gZWZmZWN0XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgLy8gSUUxMSBkbyBub3QgcmVzcGVjdCBjZW50ZXIgdmFsdWUgdW50aWwgcGFyZW50IGhhcyBmbGV4LWRpcmVjdGlvbiBzZXQgdG8gY29sdW1uLlxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogMDtcblxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfbGltaXQtY29udGFpbmVyLXRvLWltYWdlLXNpemUpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS13aWR0aCAvIDEwKSAqXG4gICAgICAgICAgICAgICAgICAgIDFyZW07XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogKCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLWhlaWdodCAvIDEwKSAqXG4gICAgICAgICAgICAgICAgICAgIDFyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFzcGVjdCByYXRpbyBmb3IgdGlsZSB0aHVtYm5haWwgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiBpbWFnZSAnY2F0ZWdvcnlfcGFnZV9ncmlkJyBzaXplcyBpbiBldGMvdmlldy54bWxcbiAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyhcbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLXdpZHRoLFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UtaGVpZ2h0IC0gNzAsXG4gICAgICAgICAgICAjeyRuc31wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGlsZS1saXN0X3RodW1ibmFpbC1ib3gtd2lkdGg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gSUUxMSBkbyBub3QgcmVzcGVjdCBjZW50ZXIgdmFsdWUgdW50aWwgcGFyZW50IGhhcyBmbGV4LWRpcmVjdGlvbiBzZXQgdG8gY29sdW1uLlxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGlsZS1saXN0X3RodW1ibmFpbC1ib3gtd2lkdGgtbW9iaWxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fYmFkZ2VzIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6ICRwcm9kdWN0LXRpbGVfYmFkZ2VzLXotaW5kZXg7XG5cbiAgICAgICAgICAgICN7JHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy15LWFzaXMtcG9zaXRpb24tcHJvcH06ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXZhbHVlO1xuICAgICAgICAgICAgI3skcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wfTogJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tdmFsdWU7XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy1kaXJlY3Rpb24gPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1tYXJnaW47XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWZcbiAgICAgICAgICAgICgkcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wID09ICdjZW50ZXInKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtZGlyZWN0aW9uID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZSgpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScsICc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGlzY291bnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZGlzY291bnQnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2Rpc2NvdW50Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnbmV3Jyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCduZXcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZnJlZS1zaGlwcGluZycpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZnJlZS1zaGlwcGluZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcG9wdWxhciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdwb3B1bGFyJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdwb3B1bGFyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kYWlseWRlYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZGFpbHlkZWFsJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdkYWlseWRlYWwnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IC8vIFNldCB3aWR0aCBleHBsaWNpdGx5IHRvIGF2b2lkIEVkZ2UgYnVnc1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtaXRlbS1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigpO1xuICAgIH1cblxuICAgICZfX2dhbGxlcnkge1xuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV9hZGRvbnMtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2R1Y3QtdGlsZV9hZGRvbnMtYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtb25lLWNvbHVtbi1tYXJnaW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3BhY2l0eTogaW5pdGlhbDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtd2lkdGg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLWJvcmRlci1sZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1vbmUtY29sdW1uLW1hcmdpbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy13aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1ib3JkZXItbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtaGVpZ2h0LW9uLWhvdmVyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWJveC1zaGFkb3c7XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTNyZW0sIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH06aG92ZXIgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMzNzICR0cmFuc2l0aW9uLWVhc2luZ19zbG93ZG93bi05MDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy9kaXNhYmxpbmcgaG92ZXIgZWZmZWN0IG9uIGlwYWRzXG4gICAgICAgICAgICAgICAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0ubm8tdHJhbnNpdGlvbixcbiAgICAgICAgICAgICN7JHJvb3R9LS1zdGF0aWMgJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZG9ucy10b3Age1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMtc2lkZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19hZGRvbnMtcmlnaHQge1xuICAgICAgICAvLyBMaW1pdCB3aWR0aCB0byBwcmV2ZW50IG92ZXJsYXBwaW5nIHByb2JsZW1zIGluIElFXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHByb2R1Y3QtdGlsZV9hZGRvbnMtaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMtYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyICYge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZG9ucy1sZWZ0IHtcbiAgICAgICAgLy8gTGltaXQgd2lkdGggdG8gcHJldmVudCBvdmVybGFwcGluZyBwcm9ibGVtcyBpbiBJRVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcHJvZHVjdC10aWxlX2FkZG9ucy1ob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JldmlldyB7XG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfcmV2aWV3LW1hcmdpbjtcblxuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfcmV2aWV3LW1hcmdpbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlcjtcblxuICAgICAgICAgICAgICAgICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50ICE9XG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X3Jldmlldy1tYXJnaW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX3N0b2NrLWZvbnQtc2l6ZTtcblxuICAgICAgICAmLS1pbiB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9zdG9jay1pbi1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW91dCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9zdG9jay1vdXQtb2YtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3N0b2NrLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3Rfc3RvY2stbWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGFpbHlkZWFsIHtcbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNzLWRhaWx5ZGVhbC0tdGlsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfZGFpbHlkZWFsLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfZGFpbHlkZWFsLW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3F0eSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci1zcGFjZS1ib3R0b207XG4gICAgICAgIHdpZHRoOiAkcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItd2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyICYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zd2F0Y2hlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1tYXJnaW47XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtY29udGFpbmVyLW1pbi1oZWlnaHQ7XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1hbGlnbm1lbnQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1hbGlnbm1lbnQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1tYXJnaW47XG5cbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1hbGlnbm1lbnQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSUUgbmVlZHMgdG8gaGF2ZSB3aWR0aCBzZXQgZXhwbGljaXRseVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtZ3JpZF9icmFuZC1hbGlnbm1lbnQ7XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1tYXJnaW47XG4gICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLW9yZGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLWFsaWdubWVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JyYW5kLXRleHQge1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfYnJhbmQtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9icmFuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19uYW1lIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC1zaXplO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy9ib3JkZXItdG9wOjFweCBzb2xpZCAjRTJFMkUyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXkgPT0gMSkge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtbWFyZ2luO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAjeyRyb290fV9fZGV0YWlscyA+ICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgI3skcm9vdH1fX2RldGFpbHMgPiAjeyRyb290fV9fYnJhbmQgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAjeyRyb290fV9fZGV0YWlscyA+ICN7JHJvb3R9X19icmFuZC0tZW1wdHkgKyAmIHtcbiAgICAgICAgICAgIGhlaWdodDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXkgKlxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0ICsgMC4yICtcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlX2JyYW5kLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfcHJvZHVjdC1uYW1lLW1hcmdpbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtbGlzdF9wcm9kdWN0LW5hbWUtYWxpZ25tZW50O1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmFtZS1saW5rIHtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250X2ZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1pbi1oZWlnaHQ6N3JlbTtcbiAgICAgICAgQGlmIChcbiAgICAgICAgJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvciAhPVxuICAgICAgICAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyXG4gICAgICAgICkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogZGlzYWJsZWQgYmVjYXVzZSBhdXRvcHJlZml4ZXIgY2FuJ3QgYnVpbGQgdGhpcyAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSA+IDEpIHtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXk7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICBsaW5lLWNsYW1wOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovXG5cbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLXZpc2l0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1jb2xvcjtcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLW1hcmdpbjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1saXN0X2Rlc2NyaXB0aW9uLXRleHQtYWxpZ247XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkaXRpb25hbCB7XG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkaXRpb25hbC1tYXJnaW47XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyICYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvIHtcbiAgICAgICAgLy8gSUUgbmVlZHMgdG8gaGF2ZSB3aWR0aCBzZXQgZXhwbGljaXRseVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0by1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWRjdC10aWxlX2FkZHRvLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCAmLFxuICAgICAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJRSBuZWVkcyB0byBoYXZlIHdpZHRoIHNldCBleHBsaWNpdGx5XG4gICAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0byB7XG4gICAgICAgICAgICAmX19pdGVtLS13aXNobGlzdCB7XG4gICAgICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydCB7XG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfYWRkdG9jYXJ0LW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkdG9jYXJ0LW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJi5idXR0b25fY29uZmlndXJlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IC05OTk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZS1ncmlkX3BhZGRpbmc7XG5cbiAgICAgICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtcmVtb3ZlLWljb24taW1hZ2Uge1xuICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tc2l6ZTtcbiAgICAgICAgZmlsbDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1maWxsO1xuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgICBAaWYgbm90KCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC12aXNpYmxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtbWFyZ2luO1xuICAgICAgICBkaXNwbGF5OiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheTtcblxuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5ID09IGZsZXgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWp1c3RpZnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3JfbGlnaHRfZ3JheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1tYXJnaW47XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDo3MHB4O1xuICAgICAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAucHJpY2UgeyAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfcHJpY2VzLW1hcmdpbjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgICAgIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9wcmljZXMtZGlyZWN0aW9uID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtZnJvbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtZnJvbSxcbiAgICAgICAgICAgICAgICAgICAgLnByaWNlLXRvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICY6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnByaWNlLWJveC0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1wcm9kdWN0cy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3Q6bm90KC5jcy1wcm9kdWN0cy1saXN0LS1jYXJvdXNlbCkgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdDpub3QoLmNzLXByb2R1Y3RzLWxpc3QtLWNhcm91c2VsKSAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHJvZHVjdHMtbGlzdC0tY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0tY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwcm9kdWN0X2xpc3QtaXRlbS1ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdF9saXN0LWl0ZW0tcGFkZGluZzogMCAhZGVmYXVsdDtcbiRwcm9kdWN0X2xpc3QtY2Fyb3VzZWwtYnJlYWtwb2ludDogJz49dGFibGV0JyAhZGVmYXVsdDtcblxuLiN7JG5zfXByb2R1Y3RzLWxpc3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmOm5vdCgjeyRyb290fS0tY2Fyb3VzZWwpIHtcbiAgICAgICAgI3skcm9vdH1fX2l0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3RfbGlzdC1pdGVtLWJvcmRlci1ib3R0b207XG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdF9saXN0LWl0ZW0tcGFkZGluZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdF9saXN0LWNhcm91c2VsLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdF9saXN0LWl0ZW0tYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdF9saXN0LWl0ZW0tcGFkZGluZztcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1wdXNoLW5vdGlmaWNhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uLl9hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWFyZ2luOiAxLjVyZW0gMDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm94LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAtMnB4IC0ycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtOyB9XG4gIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9faWNvbnMge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2ljb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9faWNvbiB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDMuNXJlbTsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9faWNvbi0tYW5pbWF0ZSB7XG4gICAgICBhbmltYXRpb246IHJpbmdpbmcgNnMgaW5maW5pdGU7IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19tZXNzYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBmbGV4OiAxOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX21lc3NhZ2Utd3JhcHBlciB7XG4gICAgICBtYXJnaW46IDAgMS41cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fbWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19tZXNzYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX21lc3NhZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM4ODg7IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYWN0aW9ucyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19hY3Rpb25zIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2FjdGlvbnMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMDsgfVxuICAgICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbjogMCAxLjVyZW0gMCAwOyB9IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0LCAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0OnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0ICosIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdCAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi1zcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24taWNvbiB7XG4gICAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDU7IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQsIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDp2aXNpdGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdCAqLCAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6dmlzaXRlZCAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHRbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0IC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLWljb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tZGVjbGluZSwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmU6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lICosIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmU6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tZGVjbGluZTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tZGVjbGluZTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmVbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tZGVjbGluZSAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi1zcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLWljb24ge1xuICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fcGVybWlzc2lvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAtMnB4IC0ycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX3Blcm1pc3Npb24taWNvbiB7XG4gICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fcGVybWlzc2lvbi1idXR0b24td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX3Blcm1pc3Npb24tYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAuMnJlbSAycmVtO1xuICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX3Blcm1pc3Npb24tYnV0dG9uLS1ibG9jayB7XG4gICAgICAgIG9wYWNpdHk6IDAuMzsgfVxuICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2Nsb3NlIHtcbiAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19jbG9zZSB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fY2xvc2Uge1xuICAgICAgICAgIHJpZ2h0OiAxLjVyZW07IH0gfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fY2xvc2UtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGZpbGw6ICM4ODg7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2Nsb3NlOmhvdmVyIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fY2xvc2UtaWNvbiB7XG4gICAgICBmaWxsOiAjMDAwOyB9XG5cbkBrZXlmcmFtZXMgcmluZ2luZyB7XG4gIDAlLFxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpOyB9XG4gIDMlLFxuICA3JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHJvdGF0ZSgyN2RlZyk7IH1cbiAgNSUsXG4gIDklIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0yN2RlZyk7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ3V0aWxzL2dldC12YWx1ZS1mcm9tLWxpc3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kcHVzaC1ub3RpZmljYXRpb25fZ3V0dGVyOiAwICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19ndXR0ZXI6IDAgMS41cmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX2JhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19ib3gtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKCRjb2xvcl9ibGFjaywgMC4xKSxcbiAgICAtMnB4IC0ycHggM3B4IHJnYmEoJGNvbG9yX2JsYWNrLCAwLjEpICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3BhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX3BhZGRpbmc6IDJyZW0gMS41cmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX21hcmdpbjogMS41cmVtIDAgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG5cbiRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLXN0YXR1cy13aWR0aDogMy41cmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tc3RhdHVzLWhlaWdodDogMy41cmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tc3RhdHVzLWFuaW1hdGlvbjogdHJ1ZSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLXN0YXR1cy1hbmltYXRpb24tcmVwZWF0OiA2cyAhZGVmYXVsdDtcblxuJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtdGl0bGUtZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9tZXNzYWdlLXRpdGxlLXJlcXVlc3QtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9tZXNzYWdlLXRpdGxlLWJyb3dzZXItY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9tZXNzYWdlLXRpdGxlLWVuYWJsZWQtY29sb3I6ICRjb2xvcl9zdWNjZXNzLTYwMCAhZGVmYXVsdDtcblxuJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtZGVzY3JpcHRpb24tZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fbWVzc2FnZS1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtZGVzY3JpcHRpb24tY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJHB1c2gtbm90aWZpY2F0aW9uX2FjdGlvbnMtZmxleC1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19hY3Rpb25zLWZsZXgtanVzdGlmeTogZmxleC1zdGFydCAhZGVmYXVsdDtcblxuJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1hY2NlcHQtdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2J1dHRvbi1hY2NlcHQtdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWFjY2VwdC1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19idXR0b24tYWNjZXB0LWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbiRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tZGVjbGluZS10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tZGVjbGluZS1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4kcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgkY29sb3JfYmxhY2ssIDAuMSksXG4gICAgLTJweCAtMnB4IDVweCByZ2JhKCRjb2xvcl9ibGFjaywgMC4xKSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tcGFkZGluZzogMXJlbSAycmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJ1dHRvbi1mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJ1dHRvbi1wYWRkaW5nOiAwLjJyZW0gMnJlbSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1idXR0b24tY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWljb24td2lkdGg6IDEuMnJlbSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWljb24taGVpZ2h0OiAxLjJyZW0gIWRlZmF1bHQ7XG5cbiRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLWNsb3NlLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25faWNvbi1jbG9zZS1oZWlnaHQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLWNsb3NlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25faWNvbi1jbG9zZS1jb2xvci0taG92ZXI6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcblxuLiN7JG5zfXB1c2gtbm90aWZpY2F0aW9uIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLl9hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiAkcHVzaC1ub3RpZmljYXRpb25fZGlzcGxheTtcbiAgICAgICAgYmFja2dyb3VuZDogJHB1c2gtbm90aWZpY2F0aW9uX2JhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6ICRwdXNoLW5vdGlmaWNhdGlvbl9wYWRkaW5nO1xuICAgICAgICBib3JkZXI6ICRwdXNoLW5vdGlmaWNhdGlvbl9ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwdXNoLW5vdGlmaWNhdGlvbl9ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAkcHVzaC1ub3RpZmljYXRpb25fYm94LXNoYWRvdztcbiAgICAgICAgbWFyZ2luOiAkcHVzaC1ub3RpZmljYXRpb25fbWFyZ2luO1xuXG4gICAgICAgICN7JHJvb3R9LS1zaGlwcGluZyAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfZGlzcGxheTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2JveC1zaGFkb3c7XG4gICAgICAgICAgICBwYWRkaW5nOiAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX3BhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29ucyB7XG4gICAgICAgIG1hcmdpbjogJHB1c2gtbm90aWZpY2F0aW9uX2d1dHRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkcHVzaC1ub3RpZmljYXRpb25faWNvbi1zdGF0dXMtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tc3RhdHVzLWhlaWdodDtcblxuICAgICAgICAmLS1hbmltYXRlIHtcbiAgICAgICAgICAgIEBpZiAkcHVzaC1ub3RpZmljYXRpb25faWNvbi1zdGF0dXMtYW5pbWF0aW9uIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHJpbmdpbmdcbiAgICAgICAgICAgICAgICAgICAgJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tc3RhdHVzLWFuaW1hdGlvbi1yZXBlYXRcbiAgICAgICAgICAgICAgICAgICAgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46ICRwdXNoLW5vdGlmaWNhdGlvbl9ndXR0ZXI7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgI3skcm9vdH0tLXNoaXBwaW5nICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2d1dHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMiAqXG4gICAgICAgICAgICAgICAgKGdldC12YWx1ZS1mcm9tLWxpc3QoJHB1c2gtbm90aWZpY2F0aW9uX3BhZGRpbmcsICdyaWdodCcpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHVzaC1ub3RpZmljYXRpb25fbWVzc2FnZS10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwdXNoLW5vdGlmaWNhdGlvbl9tZXNzYWdlLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRwdXNoLW5vdGlmaWNhdGlvbl9tZXNzYWdlLWRlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHB1c2gtbm90aWZpY2F0aW9uX2FjdGlvbnMtZmxleC1qdXN0aWZ5O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgI3skcm9vdH0tLXNoaXBwaW5nICYge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2FjdGlvbnMtZmxleC1qdXN0aWZ5O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGdldC12YWx1ZS1mcm9tLWxpc3QoJHB1c2gtbm90aWZpY2F0aW9uX3BhZGRpbmcsICd1cCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMFxuICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KCRwdXNoLW5vdGlmaWNhdGlvbl9ndXR0ZXIsICdyaWdodCcpIDAgMDtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1zaGlwcGluZyAmIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfZ3V0dGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY2NlcHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWFjY2VwdC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWFjY2VwdC10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tYWNjZXB0LWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tYWNjZXB0LXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tc2hpcHBpbmcgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19idXR0b24tYWNjZXB0LXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczpcbiAgICAgICAgICAgICAgICAgICAgICAgICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfYnV0dG9uLWFjY2VwdC1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLXNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2J1dHRvbi1hY2NlcHQtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2J1dHRvbi1hY2NlcHQtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kZWNsaW5lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1kZWNsaW5lLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWRlY2xpbmUtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWRlY2xpbmUtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWRlY2xpbmUtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1kZWNsaW5lLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1kZWNsaW5lLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Blcm1pc3Npb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBib3JkZXI6ICRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYm94LXNoYWRvdztcbiAgICAgICAgZm9udC1zaXplOiAkcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tcGFkZGluZztcblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6ICRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWljb24td2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWljb24taGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJ1dHRvbi1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYnV0dG9uLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1idXR0b24tY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJ1dHRvbi1mb250LXNpemU7XG5cbiAgICAgICAgICAgICYtLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgZ2V0LXZhbHVlLWZyb20tbGlzdCgkcHVzaC1ub3RpZmljYXRpb25fcGFkZGluZywgJ3JpZ2h0Jyk7XG4gICAgICAgIHBhZGRpbmc6IGdldC12YWx1ZS1mcm9tLWxpc3QoJHB1c2gtbm90aWZpY2F0aW9uX3BhZGRpbmcsICdyaWdodCcpO1xuXG4gICAgICAgICN7JHJvb3R9LS1zaGlwcGluZyAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19wYWRkaW5nLFxuICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KCRwdXNoLW5vdGlmaWNhdGlvbl9wYWRkaW5nLCAncmlnaHQnKTtcblxuICAgICAgICAgICAgI3skcm9vdH0tLXNoaXBwaW5nICYge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6ICRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLWNsb3NlLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHVzaC1ub3RpZmljYXRpb25faWNvbi1jbG9zZS1oZWlnaHQ7XG4gICAgICAgICAgICBmaWxsOiAkcHVzaC1ub3RpZmljYXRpb25faWNvbi1jbG9zZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX2Nsb3NlLWljb24ge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLWNsb3NlLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyByaW5naW5nIHtcbiAgICAwJSxcbiAgICAxMiUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMyUsXG4gICAgNyUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKDI3ZGVnKTtcbiAgICB9XG4gICAgNSUsXG4gICAgOSUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0yN2RlZyk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5jcy1xdHktaW5jcmVtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmNzLXF0eS1pbmNyZW1lbnQtLXdpc2hsaXN0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogMmNoO1xuICAgIGZsZXg6IDE7XG4gICAgb3JkZXI6IDI7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM4ODg7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQsIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICNkY2RjZGM7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQubWFnZS1lcnJvciB7XG4gICAgICBib3JkZXItY29sb3I6ICNlNDFmMTIgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0Lm1hZ2UtZXJyb3IgfiAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTQxZjEyICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQgKyAubWFnZS1lcnJvciB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24ge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cztcbiAgICBtYXgtd2lkdGg6IDNyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZmxleDogMSAxIDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjp2aXNpdGVkLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiAqLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOnZpc2l0ZWQgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjpmb2N1cyAqIHtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246aG92ZXIsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmhvdmVyICosIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246YWN0aXZlICoge1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGVjcmVtZW50IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWluY3JlbWVudCB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRpc2FibGVkOmhvdmVyLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kaXNhYmxlZDp2aXNpdGVkLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kaXNhYmxlZDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRpc2FibGVkICosIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRpc2FibGVkOmhvdmVyICosIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRpc2FibGVkOnZpc2l0ZWQgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQ6Zm9jdXMgKiB7XG4gICAgICAgICAgZmlsbDogI2RjZGNkYzsgfVxuICAuY3MtcXR5LWluY3JlbWVudF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pY29uLS1kZWNyZW1lbnQge1xuICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgIGhlaWdodDogMC4zcmVtOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2ljb24tLWluY3JlbWVudCB7XG4gICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgaGVpZ2h0OiAxLjJyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuJHF0eS1pbmNyZW1lbnQtLWluLXdpc2hsaXN0X2hpZGU6IHRydWUgIWRlZmF1bHQ7XG5cbiRxdHktaW5jcmVtZW50X2lucHV0LWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2lucHV0LXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2lucHV0LS1lcnJvci1ib3JkZXItY29sb3I6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pbnB1dC0taG92ZXItYm9yZGVyOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLXBvc2l0aW9uLW9mZnNldDogMXB4ICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lOiAwLjVzICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi0tZGlzYWJsZWQtYm9yZGVyOiAkcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1kaXNhYmxlZC1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4kcXR5LWluY3JlbWVudF9pY29uLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWRpc2FibGVkLWZpbGw6ICRjb2xvcl9iYWNrZ3JvdW5kLTYwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC13aWR0aDogMS4ycmVtICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LWhlaWdodDogMC4zcmVtICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LXdpZHRoOiAkcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtd2lkdGggIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtaGVpZ2h0OiAkcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtd2lkdGggIWRlZmF1bHQ7XG5cbi4jeyRuc31xdHktaW5jcmVtZW50IHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpZiAkcXR5LWluY3JlbWVudC0taW4td2lzaGxpc3RfaGlkZSB7XG4gICAgICAgICYtLXdpc2hsaXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJHF0eS1pbmNyZW1lbnRfaW5wdXQtZm9udC1zaXplO1xuICAgICAgICB0ZXh0LWFsaWduOiAkcXR5LWluY3JlbWVudF9pbnB1dC10ZXh0LWFsaWduO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAyY2g7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgICAgICAmOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRxdHktaW5jcmVtZW50X2lucHV0LS1lcnJvci1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgfiAjeyRyb290fV9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRxdHktaW5jcmVtZW50X2lucHV0LS1lcnJvci1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICsgLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lLFxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yICRxdHktaW5jcmVtZW50X2J1dHRvbi1hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgIGZpbGwgJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lO1xuICAgICAgICBtYXgtd2lkdGg6ICRxdHktaW5jcmVtZW50X2J1dHRvbi13aWR0aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIGZsZXg6IDEgMSAoI3skcXR5LWluY3JlbWVudF9idXR0b24td2lkdGggLSAxfSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXItcmFkaXVzO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJvcmRlcjtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHF0eS1pbmNyZW1lbnRfaWNvbi1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyOiAkcXR5LWluY3JlbWVudF9idXR0b24tLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHF0eS1pbmNyZW1lbnRfaWNvbi0taG92ZXItZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlY3JlbWVudCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRxdHktaW5jcmVtZW50X2J1dHRvbi0tZGlzYWJsZWQtb3BhY2l0eTtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWluY3JlbWVudF9idXR0b24tLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkcXR5LWluY3JlbWVudF9idXR0b24tLWRpc2FibGVkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRxdHktaW5jcmVtZW50X2ljb24tLWRpc2FibGVkLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgJi0tZGVjcmVtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAkcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgd2lkdGg6ICRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4udWktc2xpZGVyLWhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kOiAjZGNkY2RjO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07IH1cbiAgLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYmFja2dyb3VuZDogIzJkM2U1MDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgYmFja2dyb3VuZCAwLjNzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9XG4gICAgLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlLnVpLXN0YXRlLWhvdmVyLCAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUudWktc3RhdGUtYWN0aXZlLCAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUudWktc3RhdGUtZm9jdXMge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbiRzbGlkZXItLWhvcml6b250YWxfaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuJHNsaWRlci0taG9yaXpvbnRhbF9iYWNrZ3JvdW5kOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1iYWNrZ3JvdW5kLWFjdGl2ZTogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4udWktc2xpZGVyLWhvcml6b250YWwge1xuICAgIGJhY2tncm91bmQ6ICRzbGlkZXItLWhvcml6b250YWxfYmFja2dyb3VuZDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItLWhvcml6b250YWxfaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAoJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtc2l6ZSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogKCRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemUgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci0taG9yaXpvbnRhbF9oZWlnaHQ7XG5cbiAgICAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiAkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLWJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemUgLyAyKTtcblxuICAgICAgICAmLnVpLXN0YXRlLWhvdmVyLFxuICAgICAgICAmLnVpLXN0YXRlLWFjdGl2ZSxcbiAgICAgICAgJi51aS1zdGF0ZS1mb2N1cyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxLjVyZW0gMCAxLjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwLjRlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzLjVlbTtcbiAgICBtaW4td2lkdGg6IDRlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9fbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzZTUwOyB9XG4gIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTU1JSwgLTU1JSwgMCk7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTUlOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtLS1mYiAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgICAgd2lkdGg6IDAuOWVtO1xuICAgICAgaGVpZ2h0OiAxLjhlbTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0tdHcgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgIGhlaWdodDogMmVtOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtLS15dCAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgaGVpZ2h0OiAyLjFlbTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0tZ3AgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAyZW07XG4gICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJHNvY2lhbC1tZWRpYS1saXN0X2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfZmxleC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfcGFkZGluZzogJHBhZ2VfZWRnZS1ndXR0ZXIgMCAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYS1saXN0X2xpc3QtaXRlbS1tYXJnaW46IDAgMC40ZW0gIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1oZWlnaHQ6IDMuNWVtICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstbWluLXdpZHRoOiA0ZW0gIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1iYWNrZ3JvdW5kOiAkY29sb3JfbWluZXNoYWZ0ICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbjogYWJzb2x1dGUgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01NSUsIC01NSUsIDApICFkZWZhdWx0O1xuXG5AaWYgJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tcG9zaXRpb24gPT0gYWJzb2x1dGUge1xuICAgICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgIWRlZmF1bHQ7XG59XG5cbi4jeyRuc31zb2NpYWwtbWVkaWEtbGlzdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICBkaXNwbGF5OiAkc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheTtcbiAgICBwYWRkaW5nOiAkc29jaWFsLW1lZGlhLWxpc3RfcGFkZGluZztcblxuICAgIEBpZiAkc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheSA9PVxuICAgICAgICBmbGV4IG9yXG4gICAgICAgICRzb2NpYWwtbWVkaWEtbGlzdF9kaXNwbGF5ID09XG4gICAgICAgIGlubGluZS1mbGV4XG4gICAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWp1c3RpZnktY29udGVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6ICRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWFsaWduLWl0ZW1zO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46ICRzb2NpYWwtbWVkaWEtbGlzdF9saXN0LWl0ZW0tbWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAkc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWRpc3BsYXk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1oZWlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstbWluLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYm9yZGVyLXJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstdHJhbnNpdGlvbjtcblxuICAgICAgICBAaWYgJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaG92ZXItYmFja2dyb3VuZCAhPVxuICAgICAgICAgICAgJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYmFja2dyb3VuZFxuICAgICAgICB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2Zvcm07XG5cbiAgICAgICAgQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXBvc2l0aW9uID09IGFic29sdXRlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTUlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLWZiICYge1xuICAgICAgICAgICAgd2lkdGg6IDAuOWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS10dyAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLXl0ICYge1xuICAgICAgICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1ncCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXN0YXItcmF0aW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA3LjJyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1zdW1tYXJ5IC5jcy1zdGFyLXJhdGluZ19fc3RhcnMge1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1zdGFyLXJhdGluZy0tcmV2aWV3IC5jcy1zdGFyLXJhdGluZ19fc3RhcnMge1xuICAgICAgd2lkdGg6IDcuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZpbGw6ICM4ODg7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXItLWFjdGl2ZSB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyLS1oYWxmLWFjdGl2ZSAuc3Rhci1sZWZ0IHtcbiAgICAgIGZpbGw6ICNmY2I3Mzk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXItLWhhbGYtYWN0aXZlIC5zdGFyLXJpZ3RoIHtcbiAgICAgIGZpbGw6ICM4ODg7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmctLXN1bW1hcnkgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgIHdpZHRoOiAycmVtOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1yZXZpZXcgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgIHdpZHRoOiAxLjVyZW07IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIgcGF0aCB7XG4gICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICBmaWxsOiBpbmhlcml0OyB9XG4gIC5jcy1zdGFyLXJhdGluZyBpbWcge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWxsOiAjODg4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXItLWFjdGl2ZSB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIgcGF0aCB7XG4gICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICBmaWxsOiBpbmhlcml0OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXI6bnRoLWxhc3Qtb2YtdHlwZSgpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhcnM6aG92ZXIgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIge1xuICAgICAgZmlsbDogI2ZjYjczOTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFycyBsYWJlbDpob3ZlciB+IGxhYmVsIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHtcbiAgICAgIGZpbGw6ICM4ODg7IH1cbiAgLmNzLXN0YXItcmF0aW5nX190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxLjVyZW0gKiAwLjEpOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX190ZXh0LS1jb3VudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX190ZXh0LS1jb3VudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtLWVtcHR5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtYW5ub3RhdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZSAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtYW5ub3RhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fbGFiZWwge1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxLjVyZW0gKiAwLjIpOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTEge1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0yIHtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMyB7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMzpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTQge1xuICAgIHotaW5kZXg6IDQ7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy01IHtcbiAgICB6LWluZGV4OiA1OyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy01OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAyLjZyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNnJlbTsgfSB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbCBzcGFuIHtcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4kc3Rhci1yYXRpbmdfY29sb3ItYWN0aXZlOiAkY29sb3JfcmV2aWV3LWFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19jb2xvci1pbmFjdGl2ZTogJGNvbG9yX3Jldmlldy1pbmFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItYWN0aXZlOiAkY29sb3JfcmV2aWV3LWFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItaW5hY3RpdmU6ICRjb2xvcl9yZXZpZXctY29udHJvbC1pbmFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ190ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIGZsZXgganVzdGlmaWNhdGlvbiBvZiBzdGFyc1xuJHN0YXItcmF0aW5nX2p1c3RpZnk6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHdpZHRoIG9mIGEgc2luZ2xlIHN0YXJcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLWRlZmF1bHQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlld3Mtc3VtbWFyeTogMnJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldzogMS41cmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm06IDJyZW0gIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHdpZHRoIG9mIHJldmlldyBzdGFycyBjb250YWluZXJcbiRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtZGVmYXVsdDogNy4ycmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXdzLXN1bW1hcnk6IDEwcmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXc6IDcuMnJlbSAhZGVmYXVsdDtcbi8vIFBhZGRpbmcgZm9yIHJldmlldyBmb3JtIHN0YXJzXG4kc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtOiAwLjZyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtLW1vYmlsZTogMXJlbSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgcGFkZGluZyBydWxlc2V0XG4kc3Rhci1yYXRpbmdfcGFkZGluZy1kZWZhdWx0OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3cy1zdW1tYXJ5OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3LWZvcm06IDAgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHNjb3JlIGFuZCBjb3VudCB0ZXh0ZmllbGQgZGlzcGxheSBydWxlc2V0XG4kc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXBkcDogZmFsc2UgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXRpbGU6IGZhbHNlICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBkaXNwbGF5IHJ1bGVzZXQgZm9yIFwicmV2aWV3XCIgYW5ub3RhdGlvblxuJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi1wZHA6IGZhbHNlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi10aWxlOiB0cnVlICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyByYXRpbmcgbGFiZWwgZGV0YWlsc1xuJHN0YXItcmF0aW5nX2xhYmVsLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfbGFiZWwtZm9udC1zaXplOiAwLjc1ZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4uI3skbnN9c3Rhci1yYXRpbmcge1xuICAgICRyb290OiAmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX3N0YXJzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBhZGRpbmc6ICRzdGFyLXJhdGluZ19wYWRkaW5nLWRlZmF1bHQ7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLWRlZmF1bHQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHN0YXItcmF0aW5nX2p1c3RpZnk7XG5cbiAgICAgICAgI3skcm9vdH0tLXN1bW1hcnkgJiB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXdzLXN1bW1hcnk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXdzLXN1bW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tcmV2aWV3ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3O1xuICAgICAgICAgICAgcGFkZGluZzogJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3RhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1pbmFjdGl2ZTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2NvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhbGYtYWN0aXZlIHtcbiAgICAgICAgICAgIC5zdGFyLWxlZnQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGFyLXJpZ3RoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfY29sb3ItaW5hY3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tc3VtbWFyeSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXdzLXN1bW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tcmV2aWV3ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldztcbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuICAgICAgICAgICAgZmlsbDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fZm9ybS1zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXctZm9ybTtcbiAgICB9XG5cbiAgICAmX19mb3JtLXN0YXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWluYWN0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1sYXN0LW9mLXR5cGUoKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2Zvcm0tc3RhcnM6aG92ZXIgJiB7XG4gICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mb3JtLXN0YXJzIGxhYmVsOmhvdmVyIH4gbGFiZWwgJiB7XG4gICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWluYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRzdGFyLXJhdGluZ190ZXh0LWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0fSAqIDAuMSk7XG5cbiAgICAgICAgJi0tY291bnQge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRzdGFyLXJhdGluZ19oaWRlLXRleHQtcGRwIHtcbiAgICAgICAgICAgIC4jeyRuc31idXlib3ggJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXRpbGUge1xuICAgICAgICAgICAgLiN7JG5zfXByb2R1Y3QtdGlsZSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dC1hbm5vdGF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS1hbm5vdGF0aW9uLXBkcCB7XG4gICAgICAgICAgICAuI3skbnN9YnV5Ym94ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi10aWxlIHtcbiAgICAgICAgICAgIC4jeyRuc31wcm9kdWN0LXRpbGUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkc3Rhci1yYXRpbmdfbGFiZWwtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN0YXItcmF0aW5nX2xhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdGFyLXJhdGluZ19sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRzdGFyLXJhdGluZ19sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0fSAqIDAuMik7XG4gICAgfVxufVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNSB7XG4gICAgICAgIC5yYXRpbmctI3skaX0ge1xuICAgICAgICAgICAgei1pbmRleDogI3skaX07XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtICtcbiAgICAgICAgICAgICRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm0tbW9iaWxlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtLW1vYmlsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtICtcbiAgICAgICAgICAgICAgICAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS12aXNpYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSB7XG4gIGZvbnQtc2l6ZTogMC40NWVtO1xuICBtaW4taGVpZ2h0OiBjYWxjKCAxICogKDIuOGVtICsgOHB4KSk7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICBbY2xhc3NePSdzd2F0Y2gtb3B0LSddIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9IH1cbiAgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXTplbXB0eSB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4uc3dhdGNoLW9wdCB7XG4gIGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgLnN3YXRjaC1vcHQgLm1hZ2UtZXJyb3Ige1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEwcmVtICsgMS41cmVtKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3dhdGNoLW9wdCAubWFnZS1lcnJvciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAxMXJlbSArIDEuNXJlbSk7IH0gfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc3dhdGNoLWF0dHJpYnV0ZS5zd2F0Y2gtbGF5ZXJlZCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAuc3dhdGNoLWF0dHJpYnV0ZSArIC5zd2F0Y2gtYXR0cmlidXRlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjhlbTsgfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKCAyLjhlbSAtIDZweCArIDAuMWVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgd2lkdGg6IDEwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMXJlbTsgfSB9XG4gIC5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnOiAnO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKCAyLjhlbSAtIDZweCArIDAuMWVtKTsgfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1zZWxlY3RlZC1vcHRpb24ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogMSAqLyB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMC4yZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjRlbTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5zd2F0Y2gtb3B0IC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC0gMS41cmVtIC0gMTByZW0pOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zd2F0Y2gtb3B0IC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLSAxLjVyZW0gLSAxMXJlbSk7IH0gfVxuXG4uc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQge1xuICBmb250LXNpemU6IDFlbTsgfVxuICAuc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc3dhdGNoLW9wdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiAzLjJlbTtcbiAgaGVpZ2h0OiAyLjhlbTtcbiAgcGFkZGluZzogMCAwLjM1ZW07XG4gIG1hcmdpbjogMXB4IGNhbGMoIDFweCArIDAuMmVtKSBjYWxjKDFweCArIDAuNGVtKTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZjBmMGYwO1xuICBjb2xvcjogIzY5Njk2OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogY2FsYyggMi44ZW0gLSA2cHggKyAwLjFlbSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBib3JkZXItY29sb3IgMC4zcywgb3BhY2l0eSAwLjNzLCBjb2xvciAwLjNzO1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5zd2F0Y2gtb3B0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTRweDtcbiAgICBsZWZ0OiAtNHB4O1xuICAgIHJpZ2h0OiAtNHB4O1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zczsgfVxuICAuc3dhdGNoLW9wdGlvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9zd2F0Y2hlcy9kaXNhYmxlZC5zdmcpIHJnYmEoMjIwLCAyMjAsIDIyMCwgMC41KSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiBjYWxjKDIuOGVtIC0gMS4yZW0pO1xuICAgIGhlaWdodDogY2FsYygyLjhlbSAtIDEuMmVtKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNmVtO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkLCAuc3dhdGNoLW9wdGlvbi5iaXMtc2VsZWN0ZWQge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkOmJlZm9yZSwgLnN3YXRjaC1vcHRpb24uYmlzLXNlbGVjdGVkOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwOyB9XG4gIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCksIC5zd2F0Y2gtb3B0aW9uW2Rpc2FibGVkXTpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQ6bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KS50ZXh0LCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KS50ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjb2xvcjogIzg4ODtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkudGV4dDpiZWZvcmUsIC5zd2F0Y2gtb3B0aW9uW2Rpc2FibGVkXTpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLnRleHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkuaW1hZ2U6YWZ0ZXIsIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkuY29sb3I6YWZ0ZXIsIC5zd2F0Y2gtb3B0aW9uW2Rpc2FibGVkXTpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLmltYWdlOmFmdGVyLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KS5jb2xvcjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zd2F0Y2gtb3B0aW9uLmJhY2staW4tc3RvY2stYWxlcnQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjIwLCAyMjAsIDIyMCwgMC41NSkgdXJsKC4uL2ltYWdlcy9pY29ucy9wdXNoLW5vdGlmaWNhdGlvbi9pY29uX25vdGlmaWNhdGlvbi1vdXRsaW5lLnN2ZykgY2VudGVyLzY0JSBuby1yZXBlYXQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuc3dhdGNoLW9wdGlvbi5iYWNrLWluLXN0b2NrLWFsZXJ0LnRleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uLmJhY2staW4tc3RvY2stYWxlcnQudGV4dDphZnRlciB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDAuMzVlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5zd2F0Y2gtb3B0aW9uOm5vdCguZGlzYWJsZWQpOm5vdCguc2VsZWN0ZWQpOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLnN3YXRjaC1vcHRpb24uYmFjay1pbi1zdG9jay1hbGVydDpob3ZlciB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLnN3YXRjaC1vcHRpb246bm90KC5kaXNhYmxlZCk6bm90KC5zZWxlY3RlZCk6bm90KFtkaXNhYmxlZF0pOmhvdmVyOmJlZm9yZSwgLnN3YXRjaC1vcHRpb24uYmFjay1pbi1zdG9jay1hbGVydDpob3ZlcjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDsgfVxuXG4uc3dhdGNoLWlucHV0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi9cbiAgbGVmdDogLTEwMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3YXRjaC1tb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDJyZW07XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkY2RjZGM7IH1cbiAgLnN3YXRjaC1vcHRpb24tdG9vbHRpcCAuaW1hZ2UsXG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBoZWlnaHQ6IDExMHB4OyB9XG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAgLmNvcm5lcjphZnRlcixcbiAgLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIC5jb3JuZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1yaWdodDogMC4xcmVtIHNvbGlkICNkY2RjZGM7XG4gICAgbWFyZ2luLXRvcDogY2FsYyggLTAuNXJlbSArIDAuMXJlbSk7IH1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5taXNzaW5nLXN3YXRjaGVzLW1vZGFsIHtcbiAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLm1pc3Npbmctc3dhdGNoZXMtbW9kYWwgLm1hZ2UtZXJyb3Ige1xuICAgIHBhZGRpbmctdG9wOiAwLjhyZW07IH1cbiAgLm1pc3Npbmctc3dhdGNoZXMtbW9kYWwgLnN3YXRjaC1hdHRyaWJ1dGUgKyAuc3dhdGNoLWF0dHJpYnV0ZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICd1dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0LnNjc3MnO1xuXG4kc3dhdGNoZXMtLWNsaWNrYWJsZTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DYXRhbG9nLFxuICAgIGNvbmZpZ3VyYWJsZV90aWxlX3N3YXRjaGVzLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbi8vIEtlZXAgaW4gc3luYyB3aXRoIHF1YW50aXR5IHdyYXBwZXIgaW4gYnV5Ym94LlxuJHN3YXRjaGVzX2xhYmVsLXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXA6IDExcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX2xhYmVsLWd1dHRlcjogMS41cmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX2xhYmVsLWZvbnQtc2l6ZTogMS4xZW0gIWRlZmF1bHQ7XG4vLyBLZWVwIGluIHN5bmMgd2lkdGggcXVhbnRpdHkgd3JhcHBlciBpbiBidXlib3ggZW5kLlxuXG4vLyBTY2VuYXJpbyB3aXRoIHN3YXRjaGVzIGJlbG93IGxhYmVsLCB3aGljaCBpcyAxMDAlIHdpZGVcbi8vIHdpdGggdGhpcyB2YXJpYWJsZSBzZXQgdG8gdHJ1ZSAkc3dhdGNoZXNfbGFiZWwtd2lkdGhcbi8vIGFuZCAkc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwIHdpbGwgYmUgb3ZlcnJpZGVuIC0gYWx3YXlzIDEwMCUgd2lkdGhcbiRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsOiBmYWxzZSAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX2Rpc2FibGUtc2hvdy1tb3JlOiB0cnVlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXI6IDAuNGVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1oZWlnaHQ6IDIuOGVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC13aWR0aDogMy4yZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLXBhZGRpbmc6IDAgMC4zNWVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC10ZXh0LW9mZnNldDogMC4xZW0gIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19zd2F0Y2gtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aDogM3B4ICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoIHNvbGlkXG4gICAgJHN3YXRjaGVzX3N3YXRjaC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1ib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoIHNvbGlkXG4gICAgJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1vcGFjaXR5OiAwLjY1ICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLS1iYWNraW5zdG9jay1iYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTYwMCwgMC41NSlcbiAgICB1cmwoLi4vaW1hZ2VzL2ljb25zL3B1c2gtbm90aWZpY2F0aW9uL2ljb25fbm90aWZpY2F0aW9uLW91dGxpbmUuc3ZnKVxuICAgIGNlbnRlci82NCUgbm8tcmVwZWF0ICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ6IChcbiAgICAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCArICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aFxuKSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZTogJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoIHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItb3V0bGluZTogJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoIHNvbGlkXG4gICAgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtb3V0bGluZTogJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoIHNvbGlkXG4gICAgJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfcm93cy1ndXR0ZXI6ICRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyICogMiAhZGVmYXVsdDtcblxuJHN3YXRjaGVzLS10aWxlX2ZvbnQtc2l6ZTogMC40NWVtICFkZWZhdWx0O1xuLy8gVGVsbHMgaG93IG1hbnkgcm93cyBvZiBzd2F0Y2hlcyB3aWxsIGJlIGRpc3BsYXllZCBpbnNpZGUgdGlsZSBjb21wb25lbnQuXG4kc3dhdGNoZXMtLXRpbGVfbnVtLW9mLXJvd3M6IDEgIWRlZmF1bHQ7XG4vLyBDYWxjdWxhdGVzIGhvdyBtdWNoIHNwYWNlIHNob3VsZCBiZSByZXNlcnZlZCBpbiB0aWxlIGZvciBzd2F0Y2hlcyB0byBwcmV2ZW50IGNvbnRlbnQgZnJvbSBqdW1waW5nLlxuJHN3YXRjaGVzLS10aWxlX21pbi1oZWlnaHQ6IGNhbGMoXG4gICAgI3skc3dhdGNoZXMtLXRpbGVfbnVtLW9mLXJvd3N9ICogKCN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9ICsgI3skc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0ICpcbiAgICAgICAgICAgICAgICAyfSlcbikgIWRlZmF1bHQ7XG4kc3dhdGNoZXMtLXBkcF9mb250LXNpemU6IDAuOWVtICFkZWZhdWx0O1xuJHN3YXRjaGVzLS1maWx0ZXJzX2ZvbnQtc2l6ZTogMC44ZW0gIWRlZmF1bHQ7XG5cbi8vIFRvb2x0aXBzIGZvciBzd2F0Y2hlc1xuJHN3YXRjaGVzX3Rvb2x0aXAtYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXJhZGl1czogMC41cmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemU6IDAuMXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtbWluLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2hvdzogdHJ1ZSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteDogNTAlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtZGF0YTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIG1lZGlhLFxuICAgIGltYWdlcyxcbiAgICBpbWFnZSxcbiAgICBzd2F0Y2hfdGh1bWJcbikgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC13aWR0aDogI3ttYXAtZ2V0KFxuICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtZGF0YSxcbiAgICAgICAgd2lkdGhcbiAgICApfSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1oZWlnaHQ6ICN7bWFwLWdldChcbiAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWRhdGEsXG4gICAgICAgIGhlaWdodFxuICAgICl9ICFkZWZhdWx0O1xuXG4vLyBDb250YWluZXIgc2VsZWN0b3IgZm9yIHN3YXRjaGVzIGluIHRpbGUgYW5kIGRhaWx5IGRlYWwgdGVhc2VyLlxuW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSB7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXMtLXRpbGVfZm9udC1zaXplO1xuICAgIG1pbi1oZWlnaHQ6ICRzd2F0Y2hlcy0tdGlsZV9taW4taGVpZ2h0O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQGlmICRzd2F0Y2hlcy0tY2xpY2thYmxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLy8gQ29udGFpbmVyIHNlbGVjdG9yIGZvciBzd2F0Y2hlcyBvbiBQRFBcbi5zd2F0Y2gtb3B0IHtcbiAgICBmb250LXNpemU6ICRzd2F0Y2hlcy0tcGRwX2ZvbnQtc2l6ZTtcblxuICAgIC8vIFNlbGVjdG9yIGZvciBlcnJvciBjb250YWluZXIgd2hlbiBzd2F0Y2hlcyBhcmUgcmVxdWlyZWQgYnV0IG5vdCBzZWxlY3RlZC5cbiAgICAubWFnZS1lcnJvciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skc3dhdGNoZXNfbGFiZWwtd2lkdGh9ICsgI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfSk7XG5cbiAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cH0gKyAjeyRzd2F0Y2hlc19sYWJlbC1ndXR0ZXJ9XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gVGhlIG9ubHkgc2VsZWN0b3Igd2UgaGF2ZSB0byB0ZWxsIHRoYXQgc3dhdGNoZXMgYXJlIGluc2lkZSBhZnRlcnNlYXJjaCBuYXZpZ2F0aW9uLlxuICAgICYuc3dhdGNoLWxheWVyZWQge1xuICAgICAgICBmb250LXNpemU6ICRzd2F0Y2hlcy0tZmlsdGVyc19mb250LXNpemU7XG4gICAgfVxuXG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3dhdGNoZXNfcm93cy1ndXR0ZXI7XG4gICAgfVxufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyhcbiAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAjeyRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoICogMn0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXR9XG4gICAgKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogJHN3YXRjaGVzX2xhYmVsLWZvbnQtc2l6ZTtcbiAgICB3aWR0aDogJHN3YXRjaGVzX2xhYmVsLXdpZHRoO1xuICAgIG1hcmdpbi1yaWdodDogJHN3YXRjaGVzX2xhYmVsLWd1dHRlcjtcblxuICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiAkc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwO1xuXG4gICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtICN7JHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggKiAyfSArXG4gICAgICAgICAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLXRleHQtb2Zmc2V0fVxuICAgICAgICApO1xuICAgIH1cbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC0jeyRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyIC8gMn07XG4gICAgbWFyZ2luLWJvdHRvbTogLSN7JHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXJ9O1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5zd2F0Y2gtb3B0ICYge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgMTAwJSAtICN7JHN3YXRjaGVzX2xhYmVsLWd1dHRlcn0gLSAjeyRzd2F0Y2hlc19sYWJlbC13aWR0aH1cbiAgICAgICAgKTtcblxuICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyhcbiAgICAgICAgICAgICAgICAxMDAlIC0gI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfSAtICN7JHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cH1cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRWxlbWVudCBhZGRlZCBhcyBhIHBhcmVudCBvZiAuc3dhdGNoLW9wdGlvbiBpbiBmaWx0ZXJzLlxuLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIHtcbiAgICBmb250LXNpemU6IDFlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uc3dhdGNoLW9wdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAkc3dhdGNoZXNfc3dhdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3YXRjaGVzX3N3YXRjaC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHN3YXRjaGVzX3N3YXRjaC1wYWRkaW5nO1xuICAgIG1hcmdpbjogI3skc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGh9IGNhbGMoXG4gICAgICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aH0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyIC8gMn1cbiAgICAgICAgKSBjYWxjKCN7JHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRofSArICN7JHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXJ9KTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN3YXRjaGVzX3N3YXRjaC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXI7XG4gICAgY29sb3I6ICRzd2F0Y2hlc19zd2F0Y2gtY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtICN7JHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggKiAyfSArICN7JHN3YXRjaGVzX3N3YXRjaC10ZXh0LW9mZnNldH1cbiAgICApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBvcGFjaXR5IDAuM3MsXG4gICAgICAgIGNvbG9yIDAuM3M7XG5cbiAgICBAaWYgJHN3YXRjaGVzX2Rpc2FibGUtc2hvdy1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgIGxlZnQ6IC0kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICByaWdodDogLSRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgIGJvdHRvbTogLSRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3dhdGNoZXMvZGlzYWJsZWQuc3ZnKVxuICAgICAgICAgICAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC02MDAsIDAuNSkgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gMS4yZW0pO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAxLjJlbSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMC42ZW07XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkLFxuICAgICYuYmlzLXNlbGVjdGVkIHtcbiAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1ib3JkZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJhY2tncm91bmQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1vdXRsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLFxuICAgICZbZGlzYWJsZWRdOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAgICYudGV4dCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LW9wYWNpdHk7XG4gICAgICAgICAgICBjb2xvcjogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmltYWdlLFxuICAgICAgICAmLmNvbG9yIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJhY2staW4tc3RvY2stYWxlcnQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzd2F0Y2hlc19zd2F0Y2gtLWJhY2tpbnN0b2NrLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50ZXh0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdCgkc3dhdGNoZXNfc3dhdGNoLXBhZGRpbmcsICdyaWdodCcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5kaXNhYmxlZCk6bm90KC5zZWxlY3RlZCk6bm90KFtkaXNhYmxlZF0pLFxuICAgICYuYmFjay1pbi1zdG9jay1hbGVydCB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1vdXRsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dhdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcblxuICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgc3R5bGVzIGZyb20gTWFnZW50by5cbiAgICAvLyBJdCBwcmV2ZW50cyBrZXlib2FyZCBvbiBtb2JpbGUgdG8gYmUgc2hvd24gYWZ0ZXIgc3dhdGNoIGlzIGNsaWNrZWRcbiAgICBsZWZ0OiAtMTAwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zd2F0Y2gtbW9yZSB7XG4gICAgQGlmICRzd2F0Y2hlc19kaXNhYmxlLXNob3ctbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46ICRzd2F0Y2hlc190b29sdGlwLW1hcmdpbjtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3Rvb2x0aXAtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiAkc3dhdGNoZXNfdG9vbHRpcC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRzd2F0Y2hlc190b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtZm9udC13ZWlnaHQ7XG4gICAgcGFkZGluZzogJHN3YXRjaGVzX3Rvb2x0aXAtcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiAkc3dhdGNoZXNfdG9vbHRpcC10ZXh0LWFsaWduO1xuICAgIG1pbi13aWR0aDogJHN3YXRjaGVzX3Rvb2x0aXAtbWluLXdpZHRoO1xuXG4gICAgQGlmIChcbiAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgIDAgYW5kXG4gICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZSAhPVxuICAgICAgICAgICAgJ25vbmUnXG4gICAgKSB7XG4gICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemVcbiAgICAgICAgICAgIHNvbGlkXG4gICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLXdpZHRoICsgJ3B4JztcbiAgICAgICAgaGVpZ2h0OiAkc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtaGVpZ2h0ICsgJ3B4JztcbiAgICB9XG5cbiAgICAuY29ybmVyIHtcbiAgICAgICAgQGlmICgkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaG93KSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhdGNoZXNfdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRzd2F0Y2hlc190b29sdGlwLWFycm93LW9mZnNldC14O1xuICAgICAgICAgICAgICAgIEBpZiAodW5pdCgkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteCkgPT0gJyUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtI3skc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteH0pXG4gICAgICAgICAgICAgICAgICAgICAgICByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgICAgICAgICAgICAgIDAgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZSAhPVxuICAgICAgICAgICAgICAgICAgICAgICAgJ25vbmUnXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplXG4gICAgICAgICAgICAgICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplXG4gICAgICAgICAgICAgICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZVxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAgICAgLSN7JHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZSAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemV9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemUgLyAyfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1pc3Npbmctc3dhdGNoZXMtbW9kYWwge1xuICAgIG1heC13aWR0aDogNDByZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgXG4gICAgLm1hZ2UtZXJyb3Ige1xuICAgICAgICBwYWRkaW5nLXRvcDogMC44cmVtO1xuICAgIH1cblxuICAgIC5zd2F0Y2gtYXR0cmlidXRlICsgLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy10b3BiYXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXRvcGJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgei1pbmRleDogMzAyOyB9IH1cbiAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyLjdyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLmNzLXRvcGJhcl9faXRlbSB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy10b3BiYXJfX2l0ZW0tLXVzcHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0tdXNwcyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleDogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuY3MtdG9wYmFyX19pdGVtLS1sYW5ndWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLXRvcGJhcl9fbGlzdCxcbiAgLmNzLXRvcGJhcl9faXRlbSA+IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXRvcGJhcl9fbGlzdC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGhlaWdodDogMi43cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtdG9wYmFyX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC4zcmVtIDAgMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtdG9wYmFyX19saXN0LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwIDEuM3JlbSAwIDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS43cmVtOyB9IH1cbiAgICAuY3MtdG9wYmFyX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1yaWdodDogMC4ycmVtIHNvbGlkICNmZmY7IH1cbiAgLmNzLXRvcGJhcl9fdGV4dCB7XG4gICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLXRvcGJhcl9fbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjlyZW07IH1cbiAgICAuY3MtdG9wYmFyX19saW5rLCAuY3MtdG9wYmFyX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtdG9wYmFyX19saW5rOmhvdmVyLCAuY3MtdG9wYmFyX19saW5rOmZvY3VzLCAuY3MtdG9wYmFyX19saW5rOmFjdGl2ZSwgLmNzLXRvcGJhcl9fbGluazp2aXNpdGVkOmhvdmVyLCAuY3MtdG9wYmFyX19saW5rOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNzLXRvcGJhcl9faG90bGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy10b3BiYXJfX3Bob25lLW51bWJlciB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOXJlbTsgfVxuICAgIC5jcy10b3BiYXJfX3Bob25lLW51bWJlciwgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtdG9wYmFyX19waG9uZS1udW1iZXI6aG92ZXIsIC5jcy10b3BiYXJfX3Bob25lLW51bWJlcjpmb2N1cywgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyOmFjdGl2ZSwgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyOnZpc2l0ZWQ6aG92ZXIsIC5jcy10b3BiYXJfX3Bob25lLW51bWJlcjp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jcy1jb250YWluZXItLXRvcC1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJHRvcGJhcl9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0b3BiYXJfaGVpZ2h0OiAyLjdyZW0gIWRlZmF1bHQ7XG5cbiR0b3BiYXJfaXRlbS1mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiR0b3BiYXJfaXRlbS10ZXh0LWNvbG9yOiAkY29sb3JfbWluZXNoYWZ0ICFkZWZhdWx0O1xuJHRvcGJhcl9lbmFibGUtYm9yZGVyczogdHJ1ZSAhZGVmYXVsdDtcbiR0b3BiYXJfaXRlbS1ib3JkZXI6IDAuMnJlbSBzb2xpZCAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tcGhvbmVfbnVtYmVyLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG5cbiR0b3BiYXJfbGluay1jb2xvcjogJGxpbmstY29sb3JfYmFzZSAhZGVmYXVsdDtcbiR0b3BiYXJfbGluay1jb2xvci1ob3ZlcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlciAhZGVmYXVsdDtcbiR0b3BiYXJfbGluay1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHRvcGJhcl9saW5rLWhvdmVyLWRlY29yYXRpb246ICR0b3BiYXJfbGluay1kZWNvcmF0aW9uICFkZWZhdWx0O1xuXG4kY29udGFpbmVyX2JhY2tncm91bmQtdG9wLWJhcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9dG9wYmFyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGJhY2tncm91bmQ6ICR0b3BiYXJfYmFja2dyb3VuZDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogJHRvcGJhcl9pdGVtLWZvbnQtc2l6ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMzAyO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyX2hlaWdodDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBjb2xvcjogJHRvcGJhcl9pdGVtLXRleHQtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJi0tdXNwcyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taG90bGluZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sYW5ndWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0LFxuICAgICZfX2l0ZW0gPiB1bCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyX2hlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC4zcmVtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS4zcmVtIDAgMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS43cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdG9wYmFyX2VuYWJsZS1ib3JkZXJzKSB7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR0b3BiYXJfaXRlbS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkdG9wYmFyX2l0ZW0tdGV4dC1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICRjb2xvcjogJHRvcGJhcl9saW5rLWNvbG9yLFxuICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkdG9wYmFyX2xpbmstY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAkZGVjb3JhdGlvbjogJHRvcGJhcl9saW5rLWRlY29yYXRpb24sXG4gICAgICAgICAgICAkZGVjb3JhdGlvbi1ob3ZlcjogJHRvcGJhcl9saW5rLWhvdmVyLWRlY29yYXRpb25cbiAgICAgICAgKTtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOXJlbTtcbiAgICB9XG5cbiAgICAmX19ob3RsaW5lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19waG9uZS1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBsaW5rKFxuICAgICAgICAgICAgJGNvbG9yOiAkdG9wYmFyX2l0ZW0tcGhvbmVfbnVtYmVyLWNvbG9yLFxuICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkdG9wYmFyX2l0ZW0tcGhvbmVfbnVtYmVyLWNvbG9yXG4gICAgICAgICk7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjlyZW07XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS10b3AtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRhaW5lcl9iYWNrZ3JvdW5kLXRvcC1iYXI7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuaDEge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzJkM2U1MDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cblxuaDQge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmg1IHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmEsIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYTpob3ZlciwgYTpmb2N1cywgYTphY3RpdmUsIGE6dmlzaXRlZDpob3ZlciwgYTp2aXNpdGVkOmZvY3VzIHtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICBwYWRkaW5nOiAwIDAgMCA0cmVtOyB9XG4gIHVsID4gbGksXG4gIG9sID4gbGkge1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuaDEge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0xKTtcbn1cblxuaDIge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0yKTtcbn1cblxuaDMge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0zKTtcbn1cblxuaDQge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbn1cblxuaDUge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS01KTtcbn1cblxuaDYge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS02KTtcbn1cblxuYSB7XG4gICAgQGluY2x1ZGUgbGluaygpO1xufVxuXG51bCxcbm9sIHtcbiAgICBAaW5jbHVkZSBsaXN0KCk7XG5cbiAgICA+IGxpIHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1pdGVtKCk7XG4gICAgfVxufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXZpc3VhbGx5LWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiAxICovIH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuLiN7JG5zfXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3Mtc2VsZWN0IHtcbiAgbWluLXdpZHRoOiAwLjVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC5jcy1zZWxlY3QtLW1vYmlsZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogNDsgfVxuXG4uY3MtaHRtbC1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDE1cmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAyOyB9XG4gIC5jcy1odG1sLXNlbGVjdC5vcGVuIHtcbiAgICB6LWluZGV4OiA5OTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTNyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjNlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci0tZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLWVycm9yIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDY2Njc7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLFxuICAgIC5jcy1odG1sLXNlbGVjdC5vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLXRleHQge1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YmVmb3JlLCAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciwgcmlnaHQgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpob3ZlcjpiZWZvcmUsIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpob3ZlcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpiZWZvcmUsIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcmlnaHQ6IDEuN3JlbTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcmlnaHQ6IDEuMnJlbTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCAwIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKTtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX21lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdDpub3QoLmNzLWh0bWwtc2VsZWN0LS1vcGVuKSAuY3MtaHRtbC1zZWxlY3RfX21lbnUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtaXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fbWVudS1pdGVtLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICBoZWlnaHQ6IDIuOGVtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyLCBjb2xvciAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtaXRlbS0tc2VsZWN0ZWQgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpbmsge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpbms6aG92ZXIsIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saW5rOmZvY3VzLFxuICAgIC5jcy1odG1sLXNlbGVjdF9fbWVudS1pdGVtLS1mb2N1c2VkIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdGV4dC1pbWFnZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X190aHVtYm5haWwge1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1odG1sLXNlbGVjdC0tYXV0b3N1Z2dlc3Qge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLWF1dG9zdWdnZXN0IC5jcy1odG1sLXNlbGVjdF9fbWVudSB7XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICBtYXgtaGVpZ2h0OiAyMjBweDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tYXV0b3N1Z2dlc3QgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpc3Qge1xuICAgICAgbWF4LWhlaWdodDogMjIwcHg7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLWF1dG9zdWdnZXN0Om5vdCguY3MtaHRtbC1zZWxlY3QtLWFuaW1hdGUpIC5jcy1odG1sLXNlbGVjdF9fbWVudSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluLnNjc3MnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1mb250LXNpemU6ICRmaWVsZF9zZWxlY3QtZm9udC1zaXplICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItbGluZS1oZWlnaHQ6ICRmaWVsZF9zZWxlY3QtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItc2VsZWN0X2NvbG9yOiAkZmllbGRfc2VsZWN0LWNvbG9yICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItcGFkZGluZzogJGZpZWxkX3NlbGVjdC1wYWRkaW5nICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItcGFkZGluZy1yaWdodDogJGZpZWxkX3NlbGVjdC1wYWRkaW5nLXJpZ2h0ICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlcjogJGZpZWxkX3NlbGVjdC1ib3JkZXIgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXItYWN0aXZlOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnlfNTAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItYm94LXNoYWRvdzogJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaHRtbC1zZWxlY3RfY2FyZXQtY29sb3I6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2NhcmV0LWFjdGl2ZS1jb2xvcjogJGNvbG9yLXByaW1hcnlfNTAwICFkZWZhdWx0O1xuXG4kaHRtbC1zZWxlY3RfaXRlbS1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLXNlbGVjdGVkLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLXNlbGVjdGVkLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRodG1sLXNlbGVjdF9tZW51LWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9tZW51LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfbWVudS1ib3gtc2hhZG93OiAwIDFweCA1cHggMCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMikgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfbWVudS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG5cbiRodG1sLXNlbGVjdF9pdGVtLWJvcmRlci10b3A6IG5vbmUgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1oZWlnaHQ6IDIuOGVtICFkZWZhdWx0O1xuXG4kaHRtbC1zZWxlY3RfZGlzYWJsZWQtb3BhY2l0eTogJGZpZWxkX3NlbGVjdC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4vLyBzZWxlY3Rcbi8vIEN1c3RvbSBIVE1MIHNlbGVjdCB2ZXJzaW9uIG9mIG5hdGl2ZSBzZWxlY3Qgd2l0aCBuYXRpdmUgZmFsbGJhY2sgb24gbW9iaWxlc1xuLy9cbi8vIFNlZSBodHRwOi8vd2FycHNwaXJlLmNvbS9rc3MvIGZvciBkb2N1bWVudGF0aW9uIGd1aWRlbGluZXMuXG4vLyBWZXJzaW9uIDAuMC4xXG5cbi4jeyRuc31zZWxlY3Qge1xuICAgIG1pbi13aWR0aDogMC41cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICB9XG59XG5cbi4jeyRuc31odG1sLXNlbGVjdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmLm9wZW4ge1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICB9XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEzcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlcjtcbiAgICAgICAgcGFkZGluZzogJGh0bWwtc2VsZWN0X3RyaWdnZXItcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGh0bWwtc2VsZWN0X3RyaWdnZXItcGFkZGluZy1yaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogJGh0bWwtc2VsZWN0X3RyaWdnZXItYm94LXNoYWRvdztcbiAgICAgICAgZm9udC1zaXplOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1mb250LXNpemU7XG5cbiAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogJGh0bWwtc2VsZWN0X2Rpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWVycm9yICYge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ2NjY3O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLW9wZW4gJixcbiAgICAgICAgI3skcm9vdH0ub3BlbiAmIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlcjogJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyLWFjdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RyaWdnZXItdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1zZWxlY3RfY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWZvbnQtd2VpZ2h0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgZm9udC1zaXplOiAkZmllbGRfc2VsZWN0LWZvbnQtc2l6ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIH1cblxuICAgICZfX3RyaWdnZXItY2FyZXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICZfX3RyaWdnZXItY2FyZXQtYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICdhcnJvdycsXG4gICAgICAgICAgICAkY29sb3I6ICRodG1sLXNlbGVjdF9jYXJldC1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1leHBhbmRlZDogJGh0bWwtc2VsZWN0X2NhcmV0LWFjdGl2ZS1jb2xvcixcbiAgICAgICAgICAgICR3aWR0aDogMC43cmVtLFxuICAgICAgICAgICAgJGhlaWdodDogMXB4LFxuICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICdkb3duJyxcbiAgICAgICAgICAgICRhcnJvdy1hY3RpdmU6ICd1cCcsXG4gICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6IDEuMnJlbSxcbiAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6IDEuN3JlbSxcbiAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcjeyRyb290fS0tb3BlbiAmJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAkaHRtbC1zZWxlY3RfbWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci10b3A6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRodG1sLXNlbGVjdF9tZW51LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRodG1sLXNlbGVjdF9tZW51LWJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRodG1sLXNlbGVjdF9tZW51LWJveC1zaGFkb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAgICAgICAjeyRyb290fS0tb3BlbiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1hdXRvc3VnZ2VzdDpub3QoI3skcm9vdH0tLW9wZW4pICYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICB9XG5cbiAgICAmX19tZW51LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci10b3A6ICRodG1sLXNlbGVjdF9pdGVtLWJvcmRlci10b3A7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51LWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICBoZWlnaHQ6ICRodG1sLXNlbGVjdF9pdGVtLWhlaWdodDtcbiAgICAgICAgY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyLCBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgI3skcm9vdH1fX21lbnUtaXRlbS0tc2VsZWN0ZWQgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0tc2VsZWN0ZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgI3skcm9vdH1fX21lbnUtaXRlbS0tZm9jdXNlZCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0taG92ZXItY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1pdGVtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG5cbiAgICAmLS1hdXRvc3VnZ2VzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgI3skcm9vdH1fX21lbnUge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fbWVudS1saXN0IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoI3skcm9vdH0tLWFuaW1hdGUpICN7JHJvb3R9X19tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLmNzLXByb2R1Y3QtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogLTRyZW0gMCAwO1xuICBoZWlnaHQ6IGNhbGMoIDEuMXJlbSArICggMXJlbSApICsgKDFyZW0pICsgKDAuNXJlbSkgKyAoIDAuNXJlbSApICsgMXB4KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbi0taW5pdGlhbGl6ZWQge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb24tLWluaXRpYWxpemVkIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpc3Qge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9XG4gIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saXN0LWl0ZW0tLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnksIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaCwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tcHJldiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1jYXRlZ29yeTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5OmFmdGVyLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2g6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2g6YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAgbGluZWFyO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnlbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gICAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1jYXRlZ29yeTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaDpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgLTUwJSwgMCk7XG4gICAgICAgIHJpZ2h0OiBjYWxjKCAxLjVyZW0gKyAxLjJyZW0gLSAwLjRyZW0pOyB9XG4gICAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1jYXRlZ29yeTphZnRlciwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tc2VhcmNoOmFmdGVyLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoIDEuNXJlbSArIDEuMnJlbSAtIDAuNHJlbSk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoNTAlLCA1MCUsIDApOyB9XG4gICAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1jYXRlZ29yeVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDEuNXJlbTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnlbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogY2FsYyggMS41cmVtICsgMS4ycmVtIC0gMC40cmVtKTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnk6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1jYXRlZ29yeTphZnRlciwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tc2VhcmNoOmJlZm9yZSwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tc2VhcmNoOmFmdGVyLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmJlZm9yZSwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tcHJldjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tbmV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tbmV4dDpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMCBsaW5lYXI7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gICAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogY2FsYyggMS41cmVtICsgMS4ycmVtIC0gMC40cmVtKTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluaywgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG5cbi5jcy1jb250YWluZXItLXBhZ2UtcGRwLXByb2R1Y3QtbmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLXByb2R1Y3QtbmF2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdCc7XG5cbiRwcm9kdWN0LW5hdmlnYXRpb25fbWFyZ2luOiAtNHJlbSAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2ZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fYm9yZGVyOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2JvcmRlci13aWR0aCBzb2xpZFxuICAgICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9saXN0LXBhZGRpbmc6IDFyZW0gMCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fbGlzdC1pdGVtLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1wYWRkaW5nOiAwLjVyZW0gMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLXNob3c6IHRydWUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi13aWR0aDogMC43cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24taGVpZ2h0OiAxcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi1jb2xvcjogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi10eXBlOiAnYXJyb3cnICFkZWZhdWx0O1xuXG4vLyBQbGFjZWhvbGRlciBoZWlnaHQgdG8gcHJldmVudCBqdW1wIGFmdGVyIGluaXRpYWxpemF0aW9uXG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2hlaWdodDogY2FsYyhcbiAgICAjeyRwcm9kdWN0LW5hdmlnYXRpb25fZm9udC1zaXplfSArIChcbiAgICAgICAgICAgICN7Z2V0LXZhbHVlLWZyb20tbGlzdCgkcHJvZHVjdC1uYXZpZ2F0aW9uX2xpc3QtcGFkZGluZywgJ3VwJyl9XG4gICAgICAgICkgKyAoI3tnZXQtdmFsdWUtZnJvbS1saXN0KCRwcm9kdWN0LW5hdmlnYXRpb25fbGlzdC1wYWRkaW5nLCAnZG93bicpfSkgK1xuICAgICAgICAoI3tnZXQtdmFsdWUtZnJvbS1saXN0KCRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1wYWRkaW5nLCAndXAnKX0pICsgKFxuICAgICAgICAgICAgI3tnZXQtdmFsdWUtZnJvbS1saXN0KCRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1wYWRkaW5nLCAnZG93bicpfVxuICAgICAgICApICsgI3skcHJvZHVjdC1uYXZpZ2F0aW9uX2JvcmRlci13aWR0aH1cbik7XG5cbi4jeyRuc31wcm9kdWN0LW5hdmlnYXRpb24ge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogJHByb2R1Y3QtbmF2aWdhdGlvbl9tYXJnaW47XG4gICAgaGVpZ2h0OiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2hlaWdodDtcbiAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2JvcmRlcjtcblxuICAgICYtLWluaXRpYWxpemVkIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICN7JHJvb3R9X19saXN0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2xpc3QtcGFkZGluZztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIH1cblxuICAgICZfX2xpc3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3QtbmF2aWdhdGlvbl9saXN0LWl0ZW0tbWFyZ2luO1xuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LW5hdmlnYXRpb25fZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmc7XG5cbiAgICAgICAgJi0tY2F0ZWdvcnksXG4gICAgICAgICYtLXNlYXJjaCxcbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICBAaWYgJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tc2hvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgICAkYW5pbWF0aW9uLXRpbWU6IDAsXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi10eXBlXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICBAaWYgJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tc2hvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgJGFuaW1hdGlvbi10aW1lOiAwLFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYsXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1wYWdlLXBkcC1wcm9kdWN0LW5hdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1wd2Etbm90aWZpY2F0aW9uLl9zaG93IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHRvcDogYXV0bztcbiAgaGVpZ2h0OiAxNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi5fc2hvdyAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAtMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZSAubW9kYWwtaW5uZXItd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZSAubW9kYWwtaW5uZXItd3JhcDphZnRlciB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDcsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmMmYyZjc7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjZyZW07IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZSAubW9kYWwtdGV4dC1jb250ZW50IHtcbiAgcGFkZGluZzogMC40cmVtIDEuNHJlbSAxLjFyZW07IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZS5fc2hvdyB7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogMS41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGUuX3Nob3cgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjc7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZS5kZXZpY2UtaVBhZCB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxLjVyZW07XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDM4cmVtOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGUuZGV2aWNlLWlQYWQgLm1vZGFsLWlubmVyLXdyYXA6YWZ0ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2YyZjJmNztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMi44dnc7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZS5kZXZpY2UtaVBhZCAubW9kYWwtaW5uZXItd3JhcDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxMXZ3OyB9IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycmVtO1xuICBmb250LXNpemU6IDEuOHJlbTsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX2lvcy10cmFuc2Zlci1pY29uIHtcbiAgd2lkdGg6IDEuOHJlbTtcbiAgaGVpZ2h0OiAyLjRyZW07XG4gIG1hcmdpbjogMCAwLjNyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX2Zvb3RlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAycmVtIDJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZSAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fZm9vdGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q5ZDllNzsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b24sIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uICosIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uIHNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uLWljb24ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5jcy1wd2Etbm90aWZpY2F0aW9uX19jbG9zZS1idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuOHJlbTsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbiArIC5tb2RhbHMtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwd2Etbm90aWZpY2F0aW9uX2JveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb25fYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGU6ICdwcmltYXJ5JyAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uX2hpZGUtbW9kYWwtb3ZlcmxheTogdHJ1ZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uX2hlYWRsaW5lLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2JhY2tncm91bmQ6ICNmMmYyZjcgIWRlZmF1bHQ7IC8vIGlvcy1saWtlIHN5c3RlbSBiYWNrZ3JvdW5kIGNvbG9yXG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2ZpbHRlci1zaGFkb3c6IDAgMCAwLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9ib3JkZXItcmFkaXVzOiA2cHggIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2xvY2FsaXphdGlvbi1hcnJvdy1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX21vZGFsLWVkZ2UtcGFkZGluZzogMnJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY29udGVudC1wYWRkaW5nOiAwLjRyZW0gMS40cmVtIDEuMXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLS1pb3MtdHJhbnNmZXItaWNvbi13aWR0aDogMS44cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tLWlvcy10cmFuc2Zlci1pY29uLWhlaWdodDogMi40cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9zZXBhcmF0b3ItY29sb3I6IGRhcmtlbihcbiAgICAkcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2JhY2tncm91bmQsXG4gICAgOCVcbikgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2Nsb3NlLWJ1dHRvbi1wYWRkaW5nOiAxLjhyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2Nsb3NlLWljb24td2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY2xvc2UtaWNvbi1oZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY2xvc2UtaWNvbi13aWR0aCAhZGVmYXVsdDtcblxuLiN7JG5zfXB3YS1ub3RpZmljYXRpb24ge1xuICAgICRyb290OiAmO1xuXG4gICAgJi5fc2hvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG5cbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHdhLW5vdGlmaWNhdGlvbl9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJHB3YS1ub3RpZmljYXRpb25fYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWlvcy1ndWlkZSB7XG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfYmFja2dyb3VuZCwgMCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9sb2NhbGl6YXRpb24tYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7JHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9sb2NhbGl6YXRpb24tYXJyb3ctc2l6ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtdGV4dC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5fc2hvdyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9tb2RhbC1lZGdlLXBhZGRpbmc7XG5cbiAgICAgICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9maWx0ZXItc2hhZG93KTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kZXZpY2UtaVBhZCB7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX21vZGFsLWVkZ2UtcGFkZGluZztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM4cmVtO1xuXG4gICAgICAgICAgICAubW9kYWwtaW5uZXItd3JhcDphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMTIuOHZ3O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTF2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkcHdhLW5vdGlmaWNhdGlvbl9oZWFkbGluZS1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07XG4gICAgfVxuXG4gICAgJl9faW9zLXRyYW5zZmVyLWljb24ge1xuICAgICAgICB3aWR0aDogJHB3YS1ub3RpZmljYXRpb24tLWlvcy10cmFuc2Zlci1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtdHJhbnNmZXItaWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwLjNyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW0gMnJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAjeyRyb290fS0taW9zLWd1aWRlICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbl9idXR0b24tdHlwZVxuICAgICAgICApO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6ICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY2xvc2UtaWNvbi13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9jbG9zZS1pY29uLWhlaWdodDtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9jbG9zZS1idXR0b24tcGFkZGluZztcbiAgICB9XG5cbiAgICBAaWYgKCRwd2Etbm90aWZpY2F0aW9uX2hpZGUtbW9kYWwtb3ZlcmxheSA9PSB0cnVlKSB7XG4gICAgICAgICYgKyAubW9kYWxzLW92ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWRhaWx5ZGVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhaWx5ZGVhbF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLWRhaWx5ZGVhbF9fdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNzLWRhaWx5ZGVhbF9faXRlbXMtYW1vdW50IHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gICAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNlNDFmMTI7XG4gICAgICB6LWluZGV4OiA1OyB9XG4gICAgLmNzLWRhaWx5ZGVhbC0tdGVhc2VyIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDRyZW07IH1cbiAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWljb24ge1xuICAgIHdpZHRoOiAxLjlyZW07XG4gICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tdmFsdWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICNlNDFmMTI7XG4gICAgcGFkZGluZzogMnB4IDAgMDsgfVxuICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAjODg4O1xuICAgIHBhZGRpbmc6IDJweCAwIDA7IH1cbiAgLmNzLWRhaWx5ZGVhbC0tdGlsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2F2YWlsYWJpbGl0eSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjODg4O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDIzLjEyNWVtKSBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Omxhc3QtY2hpbGQgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLXZhbHVlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpub3QoLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bm90KC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsKTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bm90KC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsKTpudGgtY2hpbGQoMikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuOHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bm90KC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC44cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDBweCAwcHggMDsgfVxuICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi12YWx1ZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnOic7IH1cbiAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtZGFpbHlkZWFsX19iYWRnZS1wZHAtaWNvbiB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBmaWxsOiAjZmZmOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kZGFpbHlkZWFsLS10aWxlLXBvc2l0aW9uOiBhYnNvbHV0ZSAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtYm90dG9tOiAwICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1sZWZ0OiAwICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2hlYWRlci1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9oZWFkZXItanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9oZWFkZXItYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2hlYWRlci1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfaGVhZGVyLW1hcmdpbjogMCAwIDAuNXJlbSAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF90aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF90aXRsZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktYmFja2dyb3VuZDogJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1wYWRkaW5nOiAycHggNHB4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfaXRlbXMtYW1vdW50LWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1qdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2ggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1hbGlnbi1pdGVtczogc3RyZXRjaCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1tYXJnaW4tZmFjdG9yOiAzcHggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LS10aWxlLW1hcmdpbi1mYWN0b3I6IDFweCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LXBhZGRpbmc6IDAuM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1iYWNrZ3JvdW5kOiBub25lICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbC13aWR0aDogNTAlICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbC1iYWNrZ3JvdW5kOiAkY29sb3JfY3JpbXNvbiAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9jb3VudGRvd24taWNvbi13aWR0aDogMS45cmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24taWNvbi1oZWlnaHQ6IDIuNHJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWljb24tZmlsbDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWNvbG9yOiAkY29sb3JfY3JpbXNvbiAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLXBhZGRpbmc6IDJweCAwIDAgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtZm9udC1zaXplOiAxLjFyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1mb250LXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWNvbG9yOiAkY29sb3JfZ3JheSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLXBhZGRpbmc6ICRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuXG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1jb3VudGVyLW1pbi1oZWlnaHQ6IDRyZW0gIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfcGRwLWJhZGdlLWljb24td2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfcGRwLWJhZGdlLWljb24taGVpZ2h0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLWZpbGwtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuLy8gQmVjYXVzZSB0aGVyZSBpc24ndCBlbm91Z2ggc3BhY2UgZm9yIGRpc3BsYXkgZnVsbCBjb3VudGVyIG9uIG1vYmlsZSAoZGVwZW5kcyBvbiBkZXNpbmcpLCB3ZSBjYW4gZGlzcGxheSBjb3VudGVyIGluIGxpZ2h0ZXIgdmVyc2lvbiAob25seSBvbiB0aWxlKVxuLy8gU2V0IGBmYWxzZWAgdG8gaWdub3JlIGxpZ2h0ZXIgdmVyc2lvblxuJGRhaWx5ZGVhbF9mdWxsLWNvdW50ZXItbGlnaHRlci12ZXJzaW9uLWJyZWFrcG9pbnQ6ICc+PXBob25lJywgJzw2MDBweCcgIWRlZmF1bHQ7XG5cbi4jeyRuc31kYWlseWRlYWwge1xuICAgICRyb290OiAmO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiAkZGFpbHlkZWFsX2hlYWRlci1kaXNwbGF5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAkZGFpbHlkZWFsX2hlYWRlci1tYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5ZGVhbF9oZWFkZXItZm9udC1zaXplO1xuXG4gICAgICAgIEBpZiAkZGFpbHlkZWFsX2hlYWRlci1kaXNwbGF5ID09XG4gICAgICAgICAgICBmbGV4IG9yXG4gICAgICAgICAgICAkZGFpbHlkZWFsX2hlYWRlci1kaXNwbGF5ID09XG4gICAgICAgICAgICBpbmxpbmUtZmxleFxuICAgICAgICB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRkYWlseWRlYWxfaGVhZGVyLWp1c3RpZnktY29udGVudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkZGFpbHlkZWFsX2hlYWRlci1hbGlnbi1pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGRhaWx5ZGVhbF90aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkYWlseWRlYWxfdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9faXRlbXMtYW1vdW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkYWlseWRlYWxfaXRlbXMtYW1vdW50LWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgICZfX2NvdW50ZG93biB7XG4gICAgICAgIGRpc3BsYXk6ICRkYWlseWRlYWxfY291bnRkb3duLWRpc3BsYXk7XG4gICAgICAgIG1hcmdpbjogJGRhaWx5ZGVhbF9jb3VudGRvd24tbWFyZ2luO1xuXG4gICAgICAgIEBpZiAkZGFpbHlkZWFsX2NvdW50ZG93bi1kaXNwbGF5ID09XG4gICAgICAgICAgICBmbGV4IG9yXG4gICAgICAgICAgICAkZGFpbHlkZWFsX2NvdW50ZG93bi1kaXNwbGF5ID09XG4gICAgICAgICAgICBpbmxpbmUtZmxleFxuICAgICAgICB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRkYWlseWRlYWxfY291bnRkb3duLWp1c3RpZnktY29udGVudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1hbGlnbi1pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvdW50ZG93bi1lbGVtZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB3aWR0aDogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC13aWR0aDtcbiAgICAgICAgcGFkZGluZzogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1wYWRkaW5nO1xuICAgICAgICBkaXNwbGF5OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWRpc3BsYXk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWZsZXgtZGlyZWN0aW9uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1ib3JkZXItcmFkaXVzO1xuXG4gICAgICAgICYtLXNwZWNpYWwge1xuICAgICAgICAgICAgd2lkdGg6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwtd2lkdGg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsLWJhY2tncm91bmQ7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXRlYXNlciAmIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLWNvdW50ZXItbWluLWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvdW50ZG93bi1pY29uIHtcbiAgICAgICAgd2lkdGg6ICRkYWlseWRlYWxfY291bnRkb3duLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGRhaWx5ZGVhbF9jb3VudGRvd24taWNvbi1oZWlnaHQ7XG4gICAgICAgIGZpbGw6ICRkYWlseWRlYWxfY291bnRkb3duLWljb24tZmlsbDtcbiAgICB9XG5cbiAgICAmX19jb3VudGRvd24tdmFsdWUge1xuICAgICAgICBkaXNwbGF5OiAkZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1kaXNwbGF5O1xuICAgICAgICBmb250LXNpemU6ICRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWZvbnQtd2VpZ2h0O1xuICAgICAgICBjb2xvcjogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fY291bnRkb3duLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtZGlzcGxheTtcbiAgICAgICAgZm9udC1zaXplOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgY29sb3I6ICRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1wYWRkaW5nO1xuICAgIH1cblxuICAgICYtLXRpbGUge1xuICAgICAgICBwb3NpdGlvbjogJGRhaWx5ZGVhbC0tdGlsZS1wb3NpdGlvbjtcbiAgICAgICAgbGVmdDogJGRhaWx5ZGVhbC0tdGlsZS1sZWZ0O1xuICAgICAgICBib3R0b206ICRkYWlseWRlYWwtLXRpbGUtYm90dG9tO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAjeyRyb290fV9fYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWJhY2tncm91bmQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1jb2xvcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LXBhZGRpbmc7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGRhaWx5ZGVhbF9mdWxsLWNvdW50ZXItbGlnaHRlci12ZXJzaW9uLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICRkYWlseWRlYWxfZnVsbC1jb3VudGVyLWxpZ2h0ZXItdmVyc2lvbi1icmVha3BvaW50Li4uXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fY291bnRkb3duLWVsZW1lbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fY291bnRkb3duLXZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS1zcGVjaWFsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJvcmRlci1yYWRpdXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1ib3JkZXItcmFkaXVzIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fY291bnRkb3duLXZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fY291bnRkb3duLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQRFBcbiAgICAmX19iYWRnZS1wZHAtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAkZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRkYWlseWRlYWxfcGRwLWJhZGdlLWljb24taGVpZ2h0O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgZmlsbDogJGRhaWx5ZGVhbF9wZHAtYmFkZ2UtaWNvbi1maWxsLWNvbG9yO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uY3MtZ29vZ2xlLXJlY2FwdGNoYSB7XG4gIG1hcmdpbjogMXJlbSAwOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19iYWRnZS0taW52aXNpYmxlIC5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYSwgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTpob3ZlciwgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTpmb2N1cywgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTphY3RpdmUsIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6dmlzaXRlZDpob3ZlciwgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG4gICAgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYSwgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTpob3ZlciwgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTpmb2N1cywgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTphY3RpdmUsIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6dmlzaXRlZDpob3ZlciwgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1jdXN0b21lcl9jcmVhdGUge1xuICAgIG1hcmdpbi10b3A6IC0ycmVtOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1jdXN0b21lcl9sb2dpbiAuZy1yZWNhcHRjaGEge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kZ29vZ2xlLXJlY2FwdGNoYV9tYXJnaW46IDFyZW0gMCAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX3RleHQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX2xpbmstY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWNvbG9yLWhvdmVyOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbGluay1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbGluay1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLyBuZXdzbGV0dGVyXG4kZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLW1hcmdpbjogMXJlbSAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LW1hcmdpbjogMCAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci1saW5rLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLWxpbmstY29sb3ItaG92ZXI6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci1saW5rLWRlY29yYXRpb24taG92ZXI6IHVuZGVybGluZSAhZGVmYXVsdDtcblxuLiN7JG5zfWdvb2dsZS1yZWNhcHRjaGEge1xuICAgICRyb290OiAmO1xuXG4gICAgbWFyZ2luOiAkZ29vZ2xlLXJlY2FwdGNoYV9tYXJnaW47XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgICYtLWludmlzaWJsZSB7XG4gICAgICAgICAgICAuZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25vdGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1tYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkZ29vZ2xlLXJlY2FwdGNoYV90ZXh0LWNvbG9yO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRnb29nbGUtcmVjYXB0Y2hhX2xpbmstY29sb3IsXG4gICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICRkZWNvcmF0aW9uOiAkZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWRlY29yYXRpb24sXG4gICAgICAgICAgICAgICAgJGRlY29yYXRpb24taG92ZXI6ICRnb29nbGUtcmVjYXB0Y2hhX2xpbmstZGVjb3JhdGlvbi1ob3ZlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW5ld3NsZXR0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbWFyZ2luO1xuXG4gICAgICAgICN7JHJvb3R9X19ub3RlIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LW1hcmdpbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLXRleHQtY29sb3I7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci1saW5rLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJGRlY29yYXRpb246ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1kZWNvcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAkZGVjb3JhdGlvbi1ob3ZlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1kZWNvcmF0aW9uLWhvdmVyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWN1c3RvbWVyX2NyZWF0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgIH1cblxuICAgICYtLWN1c3RvbWVyX2xvZ2luIHtcbiAgICAgICAgLmctcmVjYXB0Y2hhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sb2FkaW5nLW1hc2sge1xuICAgICZbZGF0YS1yb2xlPSdtYWluLWNzcy1sb2FkZXInXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCdXlib3ggY3VzdG9tIHZhcnNcbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNzLXBhZ2UtcHJvZHVjdF9fdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuXG4uY3MtcGFnZS1wcm9kdWN0X19nYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhZ2UtcHJvZHVjdF9fZ2FsbGVyeSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDAlKTtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07IH0gfVxuXG4uY3MtcGFnZS1wcm9kdWN0X19idXlib3gge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcGFnZS1wcm9kdWN0X19idXlib3gge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG4uY3MtcGFnZS1wcm9kdWN0X19iYWRnZXMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBtYXJnaW4tbGVmdDogMS41cmVtOyB9XG5cbi5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgcGFkZGluZzogMCAwLjdyZW07XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtaW4taGVpZ2h0OiAyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLW5ldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1uZXcgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tbmV3IC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQgKyAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tbmV3IC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1kaXNjb3VudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZGlzY291bnQgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZGlzY291bnQgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCArIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1kaXNjb3VudCAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tcG9wdWxhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3Yjg0MTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1wb3B1bGFyIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLXBvcHVsYXIgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCArIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1wb3B1bGFyIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdiODQxO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0ICsgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLWRhaWx5ZGVhbC1wZHAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNDFmMTI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZGFpbHlkZWFsLXBkcCAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1kYWlseWRlYWwtcGRwIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQgKyAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZGFpbHlkZWFsLXBkcCAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4uY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0ICsgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4vKipcbiAqIEJ1bmRsZSBQcm9kdWN0IGN1c3RvbWl6YXRpb25cbiAqL1xuLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtYnVuZGxlLWNvbmZpZyB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMS41cmVtIHNvbGlkICNmMGYwZjA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uY3MtY29udGFpbmVyLS1wYWdlLXBkcC1idW5kbGUtY29uZmlnLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpOyB9XG4gIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWJ1bmRsZS1jb25maWctY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB0b3A6IDFweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiAycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC0ycmVtLCAtMnJlbSwgMCk7XG4gICAgYm94LXNoYWRvdzogNXB4IC01cHggMTBweCAwIHJnYmEoMzMsIDMzLCAzMywgMC4wOCk7IH1cblxuLnBhZ2UtcHJvZHVjdC1idW5kbGUgLnByaWNlLWJveC5wcmljZS1maW5hbF9wcmljZSAucHJpY2UtY29udGFpbmVyLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgb3JkZXI6IDI7IH1cbiAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLnByaWNlLWJveC5wcmljZS1maW5hbF9wcmljZSAucHJpY2UtY29udGFpbmVyLnByaWNlLWZpbmFsX3ByaWNlOm5vdCg6b25seS1jaGlsZCkgLnByaWNlIHtcbiAgICBjb2xvcjogIzJkM2U1MDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnZS1wcm9kdWN0LWJ1bmRsZTpub3QoLnBhZ2UtcHJvZHVjdC1idW5kbGUtc2ltcGxpZmllZCkgLnByb2R1Y3QtYWRkLWZvcm0gZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG5cbi5wYWdlLXByb2R1Y3QtYnVuZGxlOm5vdCgucGFnZS1wcm9kdWN0LWJ1bmRsZS1zaW1wbGlmaWVkKSAuYnVuZGxlLW9wdGlvbnMtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1wcm9kdWN0LWJ1bmRsZTpub3QoLnBhZ2UtcHJvZHVjdC1idW5kbGUtc2ltcGxpZmllZCkgLmJ1bmRsZS1vcHRpb25zLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwJSk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAzcmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlOm5vdCgucGFnZS1wcm9kdWN0LWJ1bmRsZS1zaW1wbGlmaWVkKSAuYmxvY2stYnVuZGxlLXN1bW1hcnkge1xuICAgIHdpZHRoOiA0MCU7IH0gfVxuXG4ucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSxcbi5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAucHJvZHVjdC1hZGQtZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBhZ2UtcHJvZHVjdC1naWZ0Y2FyZCAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICB6LWluZGV4OiAyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jcy1jb250YWluZXItLXBkcCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1kZXRhaWxzLWF3X3BxX2FqYXhfY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9taXhpbic7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1icmVha3BvaW50OiAnPj10YWJsZXQnICFkZWZhdWx0O1xuJHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1jb2x1bW5zLWd1dHRlci1tb2JpbGUtb25seTogMnJlbSAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3RfdG9wLTJjb2wtY29sdW1ucy1ndXR0ZXI6IDNyZW0gIWRlZmF1bHQ7XG4kcGFnZS1wcm9kdWN0X3RvcC0yY29sLW1vYmlsZS1ib3JkZXItc2VwYXJhdG9yOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRwYWdlLXByb2R1Y3RfYnV5Ym94LWNvbHVtbi13aWR0aDogNDAlICFkZWZhdWx0O1xuXG4kcGFnZS1wcm9kdWN0X2JhZGdlcy1mbGV4LWRpcmVjdGlvbjogcm93ICFkZWZhdWx0O1xuJHBhZ2UtcHJvZHVjdF9iYWRnZXMtei1pbmRleDogMTIwICFkZWZhdWx0OyAvLyB0byBtYWtlIHN1cmUgZ2FsbGVyeSBpdGVtcyB3b24ndCBvdmVybGFwXG4kcGFnZS1wcm9kdWN0X2JhZGdlcy15LWF4aXMtcGxhY2VtZW50OiB0b3AgIWRlZmF1bHQ7XG4kcGFnZS1wcm9kdWN0X2JhZGdlcy14LWF4aXMtcGxhY2VtZW50OiByaWdodCAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3RfYmFkZ2VzLXktYXhpcy1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3RfYmFkZ2VzLXgtYXhpcy1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3RfYmFkZ2VzLWd1dHRlcjogMS41cmVtICFkZWZhdWx0O1xuXG4vKipcbiAqIEJ1eWJveCBjdXN0b20gdmFyc1xuICovXG4kcGFnZS1wcm9kdWN0LS1idW5kbGUtb3B0aW9ucy13cmFwcGVyLWJvcmRlcjogJHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1tb2JpbGUtYm9yZGVyLXNlcGFyYXRvciAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1jb250YWluZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1jb250YWluZXItYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLWNvbnRhaW5lci1ib3JkZXI6ICRwYWdlX2VkZ2UtZ3V0dGVyIHNvbGlkXG4gICAgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG5cbiRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zaG93LXRvcC1hcnJvdy1vbi1jb250YWluZXI6IHRydWUgIWRlZmF1bHQ7XG4kcGFnZS1wcm9kdWN0LS1idW5kbGUtc2hvdy10b3AtYXJyb3ctc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zaG93LXRvcC1hcnJvdy1zaGFkb3c6IDVweCAtNXB4IDEwcHggMCByZ2JhKCRjb2xvcl9taW5lc2hhZnQsIDAuMDgpICFkZWZhdWx0O1xuXG4kcGFnZS1wcm9kdWN0LS1idW5kbGUtc3BlY2lhbC1wcmljZS1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG5cbi4jeyRuc31wYWdlLXByb2R1Y3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skcGFnZS1wcm9kdWN0X3RvcC0yY29sLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19nYWxsZXJ5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHBhZ2UtcHJvZHVjdF9idXlib3gtY29sdW1uLXdpZHRofSk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkcGFnZS1wcm9kdWN0X3RvcC0yY29sLWNvbHVtbnMtZ3V0dGVyO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcGFnZS1wcm9kdWN0X3RvcC0yY29sLWNvbHVtbnMtZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV5Ym94IHtcbiAgICAgICAgYm9yZGVyLXRvcDogJHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1tb2JpbGUtYm9yZGVyLXNlcGFyYXRvcjtcbiAgICAgICAgbWFyZ2luLXRvcDogJHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1jb2x1bW5zLWd1dHRlci1tb2JpbGUtb25seSAvIDI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkcGFnZS1wcm9kdWN0X3RvcC0yY29sLWNvbHVtbnMtZ3V0dGVyLW1vYmlsZS1vbmx5IC8gMjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyRwYWdlLXByb2R1Y3RfdG9wLTJjb2wtYnJlYWtwb2ludH0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAkcGFnZS1wcm9kdWN0X2J1eWJveC1jb2x1bW4td2lkdGg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2VzIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkcGFnZS1wcm9kdWN0X2JhZGdlcy1mbGV4LWRpcmVjdGlvbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAkcGFnZS1wcm9kdWN0X2JhZGdlcy16LWluZGV4O1xuICAgICAgICAjeyRwYWdlLXByb2R1Y3RfYmFkZ2VzLXktYXhpcy1wbGFjZW1lbnR9OiAkcGFnZS1wcm9kdWN0X2JhZGdlcy15LWF4aXMtcG9zaXRpb247XG4gICAgICAgICN7JHBhZ2UtcHJvZHVjdF9iYWRnZXMteC1heGlzLXBsYWNlbWVudH06ICRwYWdlLXByb2R1Y3RfYmFkZ2VzLXgtYXhpcy1wb3NpdGlvbjtcbiAgICB9XG5cbiAgICAmX19iYWRnZS1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFnZS1wcm9kdWN0X2JhZGdlcy1ndXR0ZXI7XG5cbiAgICAgICAgQGlmICRwYWdlLXByb2R1Y3RfYmFkZ2VzLXgtYXhpcy1wbGFjZW1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwYWdlLXByb2R1Y3RfYmFkZ2VzLWd1dHRlcjtcbiAgICAgICAgfSBAZWxzZSBpZiAkcGFnZS1wcm9kdWN0X2JhZGdlcy14LWF4aXMtcGxhY2VtZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkcGFnZS1wcm9kdWN0X2JhZGdlcy1ndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlKCk7XG5cbiAgICAgICAgJi0tbmV3IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ25ldycpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignbmV3Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaXNjb3VudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkaXNjb3VudCcpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZGlzY291bnQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBvcHVsYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgncG9wdWxhcicpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigncG9wdWxhcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kYWlseWRlYWwtcGRwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ2RhaWx5ZGVhbC1wZHAnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2RhaWx5ZGVhbC1wZHAnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCk7XG4gICAgfVxufVxuXG4vKipcbiAqIEJ1bmRsZSBQcm9kdWN0IGN1c3RvbWl6YXRpb25cbiAqL1xuLiN7JG5zfWNvbnRhaW5lci0tcGFnZS1wZHAtYnVuZGxlLWNvbmZpZyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6ICRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1jb250YWluZXItYm9yZGVyO1xuXG4gICAgQGlmICRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zaG93LXRvcC1hcnJvdy1vbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyLS1wYWdlLXBkcC1idW5kbGUtY29uZmlnLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1jb250YWluZXItYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAkcGFnZS1wcm9kdWN0LS1idW5kbGUtY29udGFpbmVyLWJveC1zaGFkb3c7XG5cbiAgICBAaWYgJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLXNob3ctdG9wLWFycm93LW9uLWNvbnRhaW5lciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLXNob3ctdG9wLWFycm93LXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zaG93LXRvcC1hcnJvdy1zaXplO1xuICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6ICRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zaG93LXRvcC1hcnJvdy1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnZS1wcm9kdWN0LS1idW5kbGUtY29udGFpbmVyLWJhY2tncm91bmRcbiAgICAgICAgICAgICAgICAkcGFnZS1wcm9kdWN0LS1idW5kbGUtY29udGFpbmVyLWJhY2tncm91bmRcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKVxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTNkKFxuICAgICAgICAgICAgICAgICAgICAtI3skcGFnZS1wcm9kdWN0LS1idW5kbGUtc2hvdy10b3AtYXJyb3ctc2l6ZX0sXG4gICAgICAgICAgICAgICAgICAgIC0jeyRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zaG93LXRvcC1hcnJvdy1zaXplfSxcbiAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIEBpZiAkcGFnZS1wcm9kdWN0LS1idW5kbGUtY29udGFpbmVyLWJveC1zaGFkb3cgIT1cbiAgICAgICAgICAgICAgICBub25lIGFuZFxuICAgICAgICAgICAgICAgICRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zaG93LXRvcC1hcnJvdy1zaGFkb3cgIT1cbiAgICAgICAgICAgICAgICBub25lXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLXNob3ctdG9wLWFycm93LXNoYWRvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQSBwaWVjZSBvZiBjb2RlIHRvIHN0eWxlIHByb3Blcmx5IHNwZWNpYWwgcHJpY2VzIGZvciBidW5kbGUgcHJvZHVjdHNcbi8vIE90aGVyIHR5cGVzIG9mIHByb2R1Y3QgaGF2ZSBkaWZmZXJlbnQgY29tYmluYXRpb24gb2YgY2xhc3NlcyAtIHRoZXkgdXNlIC5zcGVjaWFsLXByaWNlLCBidXQgbm90IGJ1bmRsZXMuXG4ucGFnZS1wcm9kdWN0LWJ1bmRsZSB7XG4gICAgLnByaWNlLWJveC5wcmljZS1maW5hbF9wcmljZSAucHJpY2UtY29udGFpbmVyLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLXNwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLXByb2R1Y3QtYnVuZGxlOm5vdCgucGFnZS1wcm9kdWN0LWJ1bmRsZS1zaW1wbGlmaWVkKSB7XG4gICAgLnByb2R1Y3QtYWRkLWZvcm0gZm9ybSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1bmRsZS1vcHRpb25zLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAkcGFnZS1wcm9kdWN0X3RvcC0yY29sLWNvbHVtbnMtZ3V0dGVyIC8gMjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLW9wdGlvbnMtd3JhcHBlci1ib3JkZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skcGFnZS1wcm9kdWN0X3RvcC0yY29sLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skcGFnZS1wcm9kdWN0X2J1eWJveC1jb2x1bW4td2lkdGh9KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46ICRwYWdlLXByb2R1Y3RfdG9wLTJjb2wtY29sdW1ucy1ndXR0ZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skcGFnZS1wcm9kdWN0X3RvcC0yY29sLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICB3aWR0aDogJHBhZ2UtcHJvZHVjdF9idXlib3gtY29sdW1uLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSB7XG4gICAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20sXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWFkZC1mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5wYWdlLXByb2R1Y3QtZ2lmdGNhcmQge1xuICAgIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0tcGRwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wYWdlLXBkcC1kZXRhaWxzLWF3X3BxX2FqYXhfY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICAvLyBCdW5kbGUgcHJvZHVjdHMgZG8gbm90IGhhdmUgc3RpY2t5IGJ1eWJveCBhbmQgc2hvdWxkIGhhdmUgYW5vdGhlciBsYXlvdXQuXG4gICAgICAgIC8vIE9uIHRhYmxldCBnYWxsZXJ5IGNvdmVyZWQgYnV5Ym94IGFuZCBhcyBhIHJlc3VsdCBpdCB3YXMgaW1wb3NzaWJsZSB0byBjbGljayBhdCBhbnl0aGluZyB0aGVyZS5cbiAgICAgICAgLy8gQ29kZSBiZWxvdyBzaG91bGQgYmUgcmV2aWV3ZWQgZHVyaW5nIHJlZmFjdG9yaW5nIGNvbnRhaW5lcnMgYW5kIHBkcCAoUERQIDIuMClcbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtYnVuZGxlLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qLnByb2R1Y3QtYWRkLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH0qLyB9XG4gIC5jcy1idW5kbGUtYm94LnByb2R1Y3QtYWRkLWZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWJ1bmRsZS1ib3ggLmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWJ1bmRsZS1ib3ggLnRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAwLjcxNDNlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgICAuY3MtYnVuZGxlLWJveCAudGl0bGUgKyBiciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idW5kbGUtYm94IC5iYWNrLmN1c3RvbWl6YXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX2ZpZWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIC5jcy1idW5kbGUtYm94X19wcm9kdWN0LW5hbWUge1xuICAgIG1hcmdpbjogMCAwIDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1idW5kbGUtYm94X19vcHRpb25zLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX29wdGlvbnMtbGlzdCAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gIC5jcy1idW5kbGUtYm94X19wcm9kdWN0LW9wdGlvbi1uYW1lLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5jcy1idW5kbGUtYm94X19xdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5jcy1idW5kbGUtYm94X19xdHkgLnF0eSB7XG4gICAgICBtYXgtd2lkdGg6IDExcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jcy1idW5kbGUtYm94X19xdHkgLmNzLWJveC1hZGR0b2NhcnRfX2xhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnkgLnByaWNlLWNvbmZpZ3VyZWRfcHJpY2UgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnVuZGxlLWJveF9fc3VtbWFyeSAucHJpY2UtY29uZmlndXJlZF9wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnktc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5LXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgICAgIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtYnVuZGxlLWJveF9fc3VtbWFyeS1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gICAgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnktc2VjdGlvbjplbXB0eSwgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnktc2VjdGlvbjpibGFuayB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5LXByb2R1Y3QtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5LXByb2R1Y3QtbmFtZSB7XG4gICAgbWFyZ2luOiAwIDAgMCAxLjVyZW07IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX2FkZHRvY2FydCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5jcy1idW5kbGUtYm94X19hZGR0b2NhcnQtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX2J1bmRlLWl0ZW1zIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtYnVuZGxlLWJveF9fYnVuZGxlLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5jcy1idW5kbGUtYm94X19idW5kZS1pdGVtLW5hbWUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jcy1idW5kbGUtYm94IC5maWVsZHNldCA+IHAucmVxdWlyZWQge1xuICAgIG1hcmdpbjogMS41cmVtIDAgMDtcbiAgICBjb2xvcjogI2U0MWYxMjsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4uc2Nzcyc7XG5cbiRidW5kbGUtYm94X3NlY3Rpb24tdGl0bGUtbWFyZ2luOiAwIDAgMC43MTQzZW0gIWRlZmF1bHQ7IC8vIDE1cHggZnJvbSBib3R0b20gYmFzZWQgb24gZW0gZm9udC1zaXppbmcgKDEuNWVtKVxuJGJ1bmRsZS1ib3hfc2VjdGlvbi10aXRsZS1mb250LXNpemU6IDEuNWVtICFkZWZhdWx0O1xuXG4kYnVuZGxlLWJveF9zaG93LWJhY2stYnV0dG9uOiBmYWxzZSAhZGVmYXVsdDtcblxuJGJ1bmRsZS1ib3hfc3VtbWFyeS1zZXBhcmF0b3ItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kYnVuZGxlLWJveF9zdW1tYXJ5LWVsZW1lbnRzLWd1dHRlcjogMS41cmVtICFkZWZhdWx0O1xuXG4kYnVuZGxlLWJveF9zdW1tYXJ5LXNlY3Rpb24tcGFkZGluZy1tb2JpbGU6ICRidW5kbGUtYm94X3N1bW1hcnktZWxlbWVudHMtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1bmRsZS1ib3hfc3VtbWFyeS1zZWN0aW9uLXBhZGRpbmctdGFibGV0OiAkYnVuZGxlLWJveF9zdW1tYXJ5LWVsZW1lbnRzLWd1dHRlciAhZGVmYXVsdDtcbiRidW5kbGUtYm94X3N1bW1hcnktc2VjdGlvbi1wYWRkaW5nLWxhcHRvcC11cDogMiAqXG4gICAgJGJ1bmRsZS1ib3hfc3VtbWFyeS1lbGVtZW50cy1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnVuZGxlLWJveF9zdW1tYXJ5LXNlY3Rpb24tYm9yZGVyOiAkYnVuZGxlLWJveF9zdW1tYXJ5LXNlcGFyYXRvci1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRidW5kbGUtYm94X3N1bW1hcnktY29uZmlndXJlZC1wcmljZS1mb250LXNpemU6ICRidW5kbGUtYm94X3NlY3Rpb24tdGl0bGUtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnVuZGxlLWJveF9hZGR0b2NhcnQtbWFyZ2luOiAkYnVuZGxlLWJveF9zdW1tYXJ5LWVsZW1lbnRzLWd1dHRlciAwIDAgIWRlZmF1bHQ7XG4kYnVuZGxlLWJveF9hZGR0b2NhcnQtZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG5cbiRidW5kbGUtYm94X3N1bW1hcnktYnVuZGxlLWl0ZW1zLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGJ1bmRsZS1ib3hfc3VtbWFyeS1idW5kbGUtaXRlbS1uYW1lLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG5cbiRidW5kbGUtYm94X3JlcXVpcmVkLW1hcmstY29sb3I6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31idW5kbGUtYm94IHtcbiAgICAkcm9vdDogJjtcblxuICAgIC8vIFdob2xlIHNlY3Rpb24gaXMgaW5pdGlhbGx5IGhpZGRlbi4gJ0N1c3RvbWl6ZScgYnV0dG9uIGluIGJ1eWJveCBjb250cm9sbHMgZGlzcGxheSBvZiB0aGlzIHNlY3Rpb25cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLy8gV2hvbGUgc2VjdGlvbiBpcyBpbml0aWFsbHkgaGlkZGVuLiAnQ3VzdG9taXplJyBidXR0b24gaW4gYnV5Ym94IGNvbnRyb2xscyBkaXNwbGF5IG9mIHRoaXMgc2VjdGlvblxuICAgIC8qLnByb2R1Y3QtYWRkLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH0qL1xuICAgIC8vIFdob2xlIHNlY3Rpb24gaXMgaW5pdGlhbGx5IGhpZGRlbi4gJ0N1c3RvbWl6ZScgYnV0dG9uIGluIGJ1eWJveCBjb250cm9sbHMgZGlzcGxheSBvZiB0aGlzIHNlY3Rpb25cbiAgICAmLnByb2R1Y3QtYWRkLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogJGJ1bmRsZS1ib3hfc2VjdGlvbi10aXRsZS1tYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1bmRsZS1ib3hfc2VjdGlvbi10aXRsZS1mb250LXNpemU7XG5cbiAgICAgICAgKyBiciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2suY3VzdG9taXphdGlvbiB7XG4gICAgICAgIEBpZiAkYnVuZGxlLWJveF9zaG93LWJhY2stYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC1uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC1vcHRpb24tbmFtZS5sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgICZfX3F0eSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc31ib3gtYWRkdG9jYXJ0X19sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1bW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJGJ1bmRsZS1ib3hfc3VtbWFyeS1zZXBhcmF0b3ItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWNvbmZpZ3VyZWRfcHJpY2Uge1xuICAgICAgICAgICAgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRidW5kbGUtYm94X3N1bW1hcnktY29uZmlndXJlZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdW1tYXJ5LXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAkYnVuZGxlLWJveF9zdW1tYXJ5LXNlY3Rpb24tcGFkZGluZy1tb2JpbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogJGJ1bmRsZS1ib3hfc3VtbWFyeS1zZWN0aW9uLXBhZGRpbmctdGFibGV0O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGJ1bmRsZS1ib3hfc3VtbWFyeS1zZWN0aW9uLWJvcmRlcjtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRidW5kbGUtYm94X3N1bW1hcnktc2VjdGlvbi1wYWRkaW5nLWxhcHRvcC11cDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHksXG4gICAgICAgICY6Ymxhbmsge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1bW1hcnktcHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19zdW1tYXJ5LXByb2R1Y3QtbmFtZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGJ1bmRsZS1ib3hfc3VtbWFyeS1lbGVtZW50cy1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0IHtcbiAgICAgICAgbWFyZ2luOiAkYnVuZGxlLWJveF9hZGR0b2NhcnQtbWFyZ2luO1xuICAgICAgICBmb250LXNpemU6ICRidW5kbGUtYm94X2FkZHRvY2FydC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1bmRsZS1ib3hfc3VtbWFyeS1idW5kbGUtaXRlbXMtZm9udC1zaXplO1xuICAgIH1cblxuICAgICZfX2J1bmRlLWl0ZW1zIHtcbiAgICAgICAgZm9udC1zaXplOiAkYnVuZGxlLWJveF9zdW1tYXJ5LWJ1bmRsZS1pdGVtcy1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fYnVuZGxlLWl0ZW0ge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJ1bmRsZS1ib3hfc3VtbWFyeS1lbGVtZW50cy1ndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idW5kZS1pdGVtLW5hbWUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYnVuZGxlLWJveF9zdW1tYXJ5LWJ1bmRsZS1pdGVtLW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0ID4gcC5yZXF1aXJlZCB7XG4gICAgICAgIG1hcmdpbjogJGJ1bmRsZS1ib3hfc3VtbWFyeS1lbGVtZW50cy1ndXR0ZXIgMCAwO1xuICAgICAgICBjb2xvcjogJGJ1bmRsZS1ib3hfcmVxdWlyZWQtbWFyay1jb2xvcjtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG4gKiBCZWNhdXNlIHByaWNlLWJveCBpcyB1c2VkIGluIG11bHRpcGxlIGNvbXBvbmVudHMgbGlrZSB0aWxlLCBidXlib3ggZXRjLFxuICogd2UgbmVlZCB0byBtb3ZlIHZhcmlhYmxlcyB0byBzZXBhcmF0ZSBmaWxlIHRvIGhhdmUgcG9zc2liaWxpdHkgdG8gaW5jbHVkZSB0aGVtXG4gKiBpbiBlYWNoIGNvbXBvbmVudCB3aXRob3V0IGdlbmVyYXRlIHByaWNlLWJveCBjb21wb25lbnQgc3R5bGVzIG11bHRpcGxlIHRpbWVzXG4qL1xuLmNzLWJ1eWJveCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAvKiBEZWZhdWx0IHN0eWxpbmcgaXMgZm9yIElOIFNUT0NLIHZhcmlhbnQgKi9cbiAgLyogRGVmYXVsdCBzdHlsaW5nIGlzIGZvciBJTiBTVE9DSyB2YXJpYW50ICovXG4gIC8qKlxuICAgICAqIERvd25sb2FkYWJsZSBwcm9kdWN0c1xuICAgICAqL1xuICAvKipcbiAgICAgKiBHcm91cGVkIHByb2R1Y3RzXG4gICAgICovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtYnV5Ym94IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RjZGNkYzsgfSB9XG4gIC5jcy1idXlib3hfX3NlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgLmNzLWJ1eWJveF9fc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1idXlib3hfX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtYnV5Ym94X19zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gICAgLmNzLWJ1eWJveF9fc2VjdGlvbjplbXB0eSwgLmNzLWJ1eWJveF9fc2VjdGlvbjpibGFuayB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idXlib3hfX2JyYW5kIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuY3MtYnV5Ym94X19icmFuZDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgY29sb3I6ICM4ODg7IH1cbiAgLmNzLWJ1eWJveF9fYnJhbmQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICM4ODg7IH1cbiAgLmNzLWJ1eWJveF9fY2F0ZWdvcnkge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmNzLWJ1eWJveF9fcHJvZHVjdC1uYW1lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuICAgIC5jcy1idXlib3hfX3Byb2R1Y3QtbmFtZSBoMSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0OyB9XG4gIC5jcy1idXlib3hfX3Jldmlld3Mtc3VtbWFyeSwgLmNzLWJ1eWJveF9faGlnaGxpZ2h0cywgLmNzLWJ1eWJveF9fZGFpbHktZGVhbCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwOyB9XG4gICAgLmNzLWJ1eWJveF9fcmV2aWV3cy1zdW1tYXJ5OmVtcHR5LCAuY3MtYnV5Ym94X19yZXZpZXdzLXN1bW1hcnk6YmxhbmssIC5jcy1idXlib3hfX2hpZ2hsaWdodHM6ZW1wdHksIC5jcy1idXlib3hfX2hpZ2hsaWdodHM6YmxhbmssIC5jcy1idXlib3hfX2RhaWx5LWRlYWw6ZW1wdHksIC5jcy1idXlib3hfX2RhaWx5LWRlYWw6Ymxhbmsge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXlib3hfX3ByaWNlIHtcbiAgICBtYXJnaW46IDEuNXJlbSAwIDA7IH1cbiAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsOyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5wcmljZS5kaXNjb3VudGVkLXByaWNlIHtcbiAgICAgICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICNlNDFmMTI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jcy1idXlib3ggLnByaWNlLXRpZXJfcHJpY2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1idXlib3ggLnByb2R1Y3QuYXR0cmlidXRlLm92ZXJ2aWV3IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgLmNzLWJ1eWJveF9fcHJvZHVjdC12YXJpYW50cywgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LFxuICAuY3MtYnV5Ym94IC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5jcy1idXlib3hfX3Byb2R1Y3QtdmFyaWFudHMgLnBhZ2UtcHJvZHVjdC1idW5kbGUsIC5jcy1idXlib3hfX2FkZHRvY2FydCAucGFnZS1wcm9kdWN0LWJ1bmRsZSxcbiAgICAuY3MtYnV5Ym94IC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciAucGFnZS1wcm9kdWN0LWJ1bmRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1idXlib3hfX3Byb2R1Y3QtdmFyaWFudHMgLmNzLWh0bWwtc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5jcy1idXlib3hfX3Byb2R1Y3QtdmFyaWFudHMgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICBoZWlnaHQ6IDRlbTsgfVxuICAuY3MtYnV5Ym94X19wcm9kdWN0LXZhcmlhbnRzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40ZW07IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWZpZWxkc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYWN0aW9ucyB7XG4gICAgZmxleC1ncm93OiAxMDsgfVxuICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYnV0dG9uIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAuY3MtYnV5Ym94X19xdHktd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwcmVtO1xuICAgIG1hcmdpbjogMCAxLjVyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIC8qIERvd25sb2FkYWJsZSBwcm9kdWN0IG1vZGlmaWNhdGlvbiAtIGFsaWduIHdpdGggTWFnZW50byBCbGFuayAqLyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1idXlib3hfX3F0eS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDExcmVtOyB9IH1cbiAgICAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAuY3MtYnV5Ym94X19xdHktd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idXlib3hfX3VwZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGU6aG92ZXIsIC5jcy1idXlib3hfX3VwZGF0ZTpmb2N1cywgLmNzLWJ1eWJveF9fdXBkYXRlOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGU6YmVmb3JlLCAuY3MtYnV5Ym94X191cGRhdGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICByaWdodDogLTFweDsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZTpiZWZvcmUge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDBweCAwcHggMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZTphZnRlciB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBsaW5lYXI7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZTpob3ZlcjphZnRlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWJ1eWJveF9fdXBkYXRlLCAuY3MtYnV5Ym94X191cGRhdGU6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtYnV5Ym94X191cGRhdGUgKiwgLmNzLWJ1eWJveF9fdXBkYXRlOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWJ1eWJveF9fdXBkYXRlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1eWJveF9fdXBkYXRlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1eWJveF9fdXBkYXRlOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgLmNzLWJ1eWJveF9fdXBkYXRlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV5Ym94X191cGRhdGU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXlib3hfX3VwZGF0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtYnV5Ym94X191cGRhdGUtc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1eWJveF9fdXBkYXRlLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtYnV5Ym94X19zdG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgICBjb2xvcjogIzM3Yjg0MTsgfVxuICAgIC5jcy1idXlib3hfX3N0b2NrLS11bmF2YWlsYWJsZSB7XG4gICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAuY3MtYnV5Ym94X19zdG9jay1pY29uIHtcbiAgICB3aWR0aDogMi40ZW07XG4gICAgaGVpZ2h0OiAxLjhlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5jcy1idXlib3hfX3N0b2NrLXN1YnNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG8tbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtYnV5Ym94X19hZGR0by1pdGVtIHtcbiAgICBtYXJnaW46IDAuNXJlbSAycmVtIDAuNXJlbSAwOyB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG8taXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY3MtYnV5Ym94X19hZGR0by1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY3MtYnV5Ym94X19hZGR0by1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gIC5jcy1idXlib3hfX2FkZHRvLWljb24ge1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgIHRyYW5zaXRpb246IGZpbGwgMC4xNXMgbGluZWFyOyB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG8taWNvbi0td2lzaGxpc3Qge1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGZpbGw6ICNlNDFmMTI7IH1cbiAgICAuY3MtYnV5Ym94X19hZGR0by1pY29uLS1jb21wYXJlIHtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAuY3MtYnV5Ym94X191c3BzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLWJ1eWJveF9fdXNwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWJ1eWJveF9fdXNwLWljb24ge1xuICAgIGhlaWdodDogMi4ycmVtO1xuICAgIG1hcmdpbjogMXB4IDAuOHJlbSAwIDA7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLmNzLWJ1eWJveF9fdXNwLWljb24tLTEge1xuICAgICAgd2lkdGg6IDIuMnJlbTsgfVxuICAgIC5jcy1idXlib3hfX3VzcC1pY29uLS0yIHtcbiAgICAgIHdpZHRoOiAycmVtOyB9XG4gICAgLmNzLWJ1eWJveF9fdXNwLWljb24tLTMge1xuICAgICAgd2lkdGg6IDIuM3JlbTsgfVxuICAuY3MtYnV5Ym94X191c3AtbGFiZWwge1xuICAgIHdpZHRoOiBtaW4tY29udGVudDsgfVxuICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyAuZG93bmxvYWRzID4gLmxhYmVsIHtcbiAgICBtYXJnaW46IDAgMCAwLjdlbTsgfVxuICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyAubGVnZW5kLFxuICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyAubGVnZW5kICsgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWJ1eWJveF9fZG93bmxvYWRhYmxlLW9wdGlvbnMgLmNob2ljZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAwLjdlbTsgfVxuICAgIC5jcy1idXlib3hfX2Rvd25sb2FkYWJsZS1vcHRpb25zIC5jaG9pY2U6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1idXlib3hfX2Rvd25sb2FkYWJsZS1vcHRpb25zIGlucHV0IHtcbiAgICBtYXJnaW46IDAgMC43ZW0gMCAwOyB9XG4gIC5jcy1idXlib3hfX2Rvd25sb2FkYWJsZS1vcHRpb25zIC5maWVsZCAubGFiZWwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5jcy1idXlib3ggLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idXlib3ggLmdyb3VwZWQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5jb2wge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAuY29sOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5jb2w6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5xdHkge1xuICAgICAgd2lkdGg6IDEwcmVtOyB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAucHJpY2UtZmluYWxfcHJpY2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwLjNlbTsgfVxuICAuY3MtYnV5Ym94ICN2YWxpZGF0aW9uLW1lc3NhZ2UtYm94IHtcbiAgICBtYXJnaW46IDAgMCAxZW07IH1cbiAgLmNzLWJ1eWJveCAuY3VzdG9taXplIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgLmNzLWJ1eWJveCAuY3VzdG9taXplOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtYnV5Ym94IC5jdXN0b21pemUsIC5jcy1idXlib3ggLmN1c3RvbWl6ZTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZSAqLCAuY3MtYnV5Ym94IC5jdXN0b21pemU6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtYnV5Ym94IC5jdXN0b21pemU6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV5Ym94IC5jdXN0b21pemU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV5Ym94IC5jdXN0b21pemU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtYnV5Ym94IC5jdXN0b21pemU6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXlib3ggLmN1c3RvbWl6ZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1eWJveCAuY3VzdG9taXplOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWJ1eWJveCAuY3VzdG9taXplW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLWJ1eWJveCAuY3VzdG9taXplIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG5cbi5jcy1idXlib3gge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMS44O1xuICAvKiBEZWZhdWx0IHN0eWxpbmcgaXMgZm9yIElOIFNUT0NLIHZhcmlhbnQgKi9cbiAgLyogRGVmYXVsdCBzdHlsaW5nIGlzIGZvciBJTiBTVE9DSyB2YXJpYW50ICovXG4gIC8qKlxuICAgICAqIERvd25sb2FkYWJsZSBwcm9kdWN0c1xuICAgICAqL1xuICAvKipcbiAgICAgKiBHcm91cGVkIHByb2R1Y3RzXG4gICAgICovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtYnV5Ym94IHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9IH1cbiAgLmNzLWJ1eWJveF9fc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgIC5jcy1idXlib3hfX3NlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtYnV5Ym94X19zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWJ1eWJveF9fc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07IH0gfVxuICAgIC5jcy1idXlib3hfX3NlY3Rpb246ZW1wdHksIC5jcy1idXlib3hfX3NlY3Rpb246Ymxhbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtYnV5Ym94X19icmFuZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNzLWJ1eWJveF9fYnJhbmQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjODg4OyB9XG4gIC5jcy1idXlib3hfX2JyYW5kLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjODg4OyB9XG4gIC5jcy1idXlib3hfX2NhdGVnb3J5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5jcy1idXlib3hfX3Byb2R1Y3QtbmFtZSB7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtOyB9XG4gICAgLmNzLWJ1eWJveF9fcHJvZHVjdC1uYW1lIGgxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAuY3MtYnV5Ym94X19wcm9kdWN0LW5hbWUgaDEge1xuICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfSB9XG4gIC5jcy1idXlib3hfX3Jldmlld3Mtc3VtbWFyeSwgLmNzLWJ1eWJveF9faGlnaGxpZ2h0cywgLmNzLWJ1eWJveF9fZGFpbHktZGVhbCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwOyB9XG4gICAgLmNzLWJ1eWJveF9fcmV2aWV3cy1zdW1tYXJ5OmVtcHR5LCAuY3MtYnV5Ym94X19yZXZpZXdzLXN1bW1hcnk6YmxhbmssIC5jcy1idXlib3hfX2hpZ2hsaWdodHM6ZW1wdHksIC5jcy1idXlib3hfX2hpZ2hsaWdodHM6YmxhbmssIC5jcy1idXlib3hfX2RhaWx5LWRlYWw6ZW1wdHksIC5jcy1idXlib3hfX2RhaWx5LWRlYWw6Ymxhbmsge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXlib3hfX3ByaWNlIHtcbiAgICBtYXJnaW46IDEuNXJlbSAwIDA7IH1cbiAgICAuY3MtYnV5Ym94X19wcmljZSAjY29udGFjdF9saW5rIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsOyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5wcmljZS5kaXNjb3VudGVkLXByaWNlIHtcbiAgICAgICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNXB4OyB9XG4gICAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICNlNDFmMTI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jcy1idXlib3ggLnByaWNlLXRpZXJfcHJpY2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1idXlib3hfX3Byb2R1Y3QtdmFyaWFudHMsIC5jcy1idXlib3hfX2FkZHRvY2FydCxcbiAgLmNzLWJ1eWJveCAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuY3MtYnV5Ym94X19wcm9kdWN0LXZhcmlhbnRzIC5wYWdlLXByb2R1Y3QtYnVuZGxlLCAuY3MtYnV5Ym94X19hZGR0b2NhcnQgLnBhZ2UtcHJvZHVjdC1idW5kbGUsXG4gICAgLmNzLWJ1eWJveCAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIgLnBhZ2UtcHJvZHVjdC1idW5kbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtYnV5Ym94X19wcm9kdWN0LXZhcmlhbnRzIC5jcy1odG1sLXNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuY3MtYnV5Ym94X19wcm9kdWN0LXZhcmlhbnRzIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgaGVpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1eWJveF9fcHJvZHVjdC12YXJpYW50cy1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNGVtOyB9XG4gIC5jcy1idXlib3hfX2FkZHRvY2FydC1maWVsZHNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWFjdGlvbnMge1xuICAgIGZsZXgtZ3JvdzogMTA7IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWJ1dHRvbiBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMHJlbTtcbiAgICBtYXJnaW46IDAgMS41cmVtIDAgMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAvKiBEb3dubG9hZGFibGUgcHJvZHVjdCBtb2RpZmljYXRpb24gLSBhbGlnbiB3aXRoIE1hZ2VudG8gQmxhbmsgKi8gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtYnV5Ym94X19xdHktd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMXJlbTsgfSB9XG4gICAgLnBhZ2UtcHJvZHVjdC1kb3dubG9hZGFibGUgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtYnV5Ym94X191cGRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWJ1eWJveF9fdXBkYXRlOmhvdmVyLCAuY3MtYnV5Ym94X191cGRhdGU6Zm9jdXMsIC5jcy1idXlib3hfX3VwZGF0ZTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWJ1eWJveF9fdXBkYXRlOmJlZm9yZSwgLmNzLWJ1eWJveF9fdXBkYXRlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgcmlnaHQ6IC0xcHg7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGU6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwcHggMHB4IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICMyZDNlNTAgMCUsICMyZDNlNTAgMTAwJSk7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGU6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGU6aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGU6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZSwgLmNzLWJ1eWJveF9fdXBkYXRlOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLWJ1eWJveF9fdXBkYXRlICosIC5jcy1idXlib3hfX3VwZGF0ZTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1idXlib3hfX3VwZGF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXlib3hfX3VwZGF0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1idXlib3hfX3VwZGF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1eWJveF9fdXBkYXRlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV5Ym94X191cGRhdGU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGVbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLWJ1eWJveF9fdXBkYXRlLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIC5jcy1idXlib3hfX3VwZGF0ZS1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cbiAgLmNzLWJ1eWJveF9fc3RvY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW07XG4gICAgY29sb3I6ICMzN2I4NDE7IH1cbiAgICAuY3MtYnV5Ym94X19zdG9jay0tdW5hdmFpbGFibGUge1xuICAgICAgY29sb3I6ICNlNDFmMTI7IH1cbiAgLmNzLWJ1eWJveF9fc3RvY2staWNvbiB7XG4gICAgd2lkdGg6IDIuNGVtO1xuICAgIGhlaWdodDogMS44ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAuY3MtYnV5Ym94X19zdG9jay1zdWJzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMCAwIDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5jcy1idXlib3hfX2FkZHRvLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG8taXRlbSB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMnJlbSAwLjVyZW0gMDsgfVxuICAgIC5jcy1idXlib3hfX2FkZHRvLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG8tbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG8tbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3MtYnV5Ym94X19hZGR0by1pY29uIHtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1idXlib3hfX2FkZHRvLWljb24tLXdpc2hsaXN0IHtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBmaWxsOiAjZTQxZjEyOyB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG8taWNvbi0tY29tcGFyZSB7XG4gICAgICB3aWR0aDogMnJlbTtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgLmNzLWJ1eWJveF9fdXNwcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICM4ODg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jcy1idXlib3hfX3VzcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1idXlib3hfX3VzcC1pY29uIHtcbiAgICBoZWlnaHQ6IDIuMnJlbTtcbiAgICBtYXJnaW46IDFweCAwLjhyZW0gMCAwO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAgIC5jcy1idXlib3hfX3VzcC1pY29uLS0xIHtcbiAgICAgIHdpZHRoOiAyLjJyZW07IH1cbiAgICAuY3MtYnV5Ym94X191c3AtaWNvbi0tMiB7XG4gICAgICB3aWR0aDogMnJlbTsgfVxuICAgIC5jcy1idXlib3hfX3VzcC1pY29uLS0zIHtcbiAgICAgIHdpZHRoOiAyLjNyZW07IH1cbiAgLmNzLWJ1eWJveF9fdXNwLWxhYmVsIHtcbiAgICB3aWR0aDogbWluLWNvbnRlbnQ7IH1cbiAgLmNzLWJ1eWJveF9fZG93bmxvYWRhYmxlLW9wdGlvbnMgLmRvd25sb2FkcyA+IC5sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAgMC43ZW07IH1cbiAgLmNzLWJ1eWJveF9fZG93bmxvYWRhYmxlLW9wdGlvbnMgLmxlZ2VuZCxcbiAgLmNzLWJ1eWJveF9fZG93bmxvYWRhYmxlLW9wdGlvbnMgLmxlZ2VuZCArIGJyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idXlib3hfX2Rvd25sb2FkYWJsZS1vcHRpb25zIC5jaG9pY2Uge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMC43ZW07IH1cbiAgICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyAuY2hvaWNlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyBpbnB1dCB7XG4gICAgbWFyZ2luOiAwIDAuN2VtIDAgMDsgfVxuICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyAuZmllbGQgLmxhYmVsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAuY3MtYnV5Ym94IC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1maW5hbF9wcmljZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtYnV5Ym94IC5ncm91cGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAuY29sIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLmNvbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAuY29sOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAucXR5IHtcbiAgICAgIHdpZHRoOiAxMHJlbTsgfVxuICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC4zZW07IH1cbiAgLmNzLWJ1eWJveCAjdmFsaWRhdGlvbi1tZXNzYWdlLWJveCB7XG4gICAgbWFyZ2luOiAwIDAgMWVtOyB9XG4gIC5jcy1idXlib3ggLmN1c3RvbWl6ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWJ1eWJveCAuY3VzdG9taXplLCAuY3MtYnV5Ym94IC5jdXN0b21pemU6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtYnV5Ym94IC5jdXN0b21pemUgKiwgLmNzLWJ1eWJveCAuY3VzdG9taXplOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWJ1eWJveCAuY3VzdG9taXplOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1eWJveCAuY3VzdG9taXplOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1eWJveCAuY3VzdG9taXplOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgLmNzLWJ1eWJveCAuY3VzdG9taXplOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV5Ym94IC5jdXN0b21pemU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXlib3ggLmN1c3RvbWl6ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZSBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtYnV5Ym94IC5wcm9kdWN0LmF0dHJpYnV0ZS5vdmVydmlldyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuXG4uY3MtYnV5Ym94X19zZWN0aW9uLS1lc3NlbnRpYWxzIC5jcy1wcm9kdWN0LXNob3J0X2Rlc2Mge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5jcy1idXlib3hfX3NlY3Rpb24tLWVzc2VudGlhbHMgLnByb2R1Y3QuYXR0cmlidXRlLmxhZ2VyLFxuLmNzLWJ1eWJveF9fc2VjdGlvbi0tZXNzZW50aWFscyAucHJvZHVjdC5hdHRyaWJ1dGUuc2t1LFxuLmNzLWJ1eWJveF9fc2VjdGlvbi0tZXNzZW50aWFscyAucHJvZHVjdC5hdHRyaWJ1dGUubGllZmVyemVpdCxcbi5jcy1idXlib3hfX3NlY3Rpb24tLWVzc2VudGlhbHMgLnByb2R1Y3QuYXR0cmlidXRlLmRlbGl2ZXJ5X3RpbWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAuY3MtYnV5Ym94X19zZWN0aW9uLS1lc3NlbnRpYWxzIC5wcm9kdWN0LmF0dHJpYnV0ZS5sYWdlciBzdHJvbmc6YWZ0ZXIsXG4gIC5jcy1idXlib3hfX3NlY3Rpb24tLWVzc2VudGlhbHMgLnByb2R1Y3QuYXR0cmlidXRlLnNrdSBzdHJvbmc6YWZ0ZXIsXG4gIC5jcy1idXlib3hfX3NlY3Rpb24tLWVzc2VudGlhbHMgLnByb2R1Y3QuYXR0cmlidXRlLmxpZWZlcnplaXQgc3Ryb25nOmFmdGVyLFxuICAuY3MtYnV5Ym94X19zZWN0aW9uLS1lc3NlbnRpYWxzIC5wcm9kdWN0LmF0dHJpYnV0ZS5kZWxpdmVyeV90aW1lIHN0cm9uZzphZnRlciB7XG4gICAgY29udGVudDogJzonO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uY3MtYnV5Ym94X19zZWN0aW9uLS1lc3NlbnRpYWxzIC5wcm9kdWN0LmJyYW5kIHtcbiAgbWFyZ2luOiAycmVtIDA7IH1cbiAgLmNzLWJ1eWJveF9fc2VjdGlvbi0tZXNzZW50aWFscyAucHJvZHVjdC5icmFuZCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNzLWJ1eWJveF9fc2VjdGlvbi0tZXNzZW50aWFscyAuY3MtYnV5Ym94X19wcmljZSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuY3MtYnV5Ym94X19zZWN0aW9uLS1lc3NlbnRpYWxzIC5jcy1wcm9kdWN0LXNob3J0X2Rlc2Mge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7IH0gfVxuXG4ucGFnZS1wcm9kdWN0LWdyb3VwZWQgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pbmRpY2F0b3JzL21peGlucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMnO1xuXG4vLyBTb21lIGdsb2JhbHNcbiRidXlib3hfZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X2xpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuJGJ1eWJveF9zZWN0aW9uLWVsZW1lbnRzLWd1dHRlcjogMS41cmVtICFkZWZhdWx0OyAvLyBtYXJnaW4gYmV0d2VlbiBjb21wb25lbnRzIGluc2lkZSBzZWN0aW9ucywgbm90IHNlY3Rpb25zIGl0c2VsZlxuXG4kYnV5Ym94X3NlcGFyYXRvci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJGJ1eWJveF9zZWN0aW9uLWJvcmRlcjogJGJ1eWJveF9zZXBhcmF0b3ItYm9yZGVyICFkZWZhdWx0O1xuJGJ1eWJveF9zZWN0aW9uLXBhZGRpbmctbW9iaWxlOiAxLjVyZW0gMCAhZGVmYXVsdDtcbiRidXlib3hfc2VjdGlvbi1wYWRkaW5nLXRhYmxldDogMS41cmVtICFkZWZhdWx0O1xuJGJ1eWJveF9zZWN0aW9uLXBhZGRpbmctbGFwdG9wLXVwOiAzcmVtICFkZWZhdWx0O1xuXG4kYnV5Ym94X2NhdGVnb3J5LW1hcmdpbjogMCAhZGVmYXVsdDtcbiRidXlib3hfY2F0ZWdvcnktbmFtZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGJ1eWJveF9jYXRlZ29yeS1uYW1lLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuXG4kYnV5Ym94X2JyYW5kLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGJ1eWJveF9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGJ1eWJveF9icmFuZC1lbmFibGUtc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuJGJ1eWJveF9icmFuZC1zZXBhcmF0b3ItY29udGVudDogJy8nICFkZWZhdWx0O1xuXG4kYnV5Ym94X3Byb2R1Y3QtbmFtZS1mb250LXNpemU6IDIuNHJlbSAhZGVmYXVsdDtcbiRidXlib3hfcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kYnV5Ym94X3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodDogaW5oZXJpdCAhZGVmYXVsdDtcblxuJGJ1eWJveF9wcmljZS1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWRlZmF1bHQ7IC8vIHdoZW4gMiBwcmljZXMgYXJlIGRpc3BsYXllZCwgdGhleSdyZSB1c2luZyBmbGV4IGZvciBhcnJhbmdlbWVudFxuJGJ1eWJveF9wcmljZS1mbGV4LXdyYXA6IG5vd3JhcCAhZGVmYXVsdDtcblxuJGJ1eWJveF9wcmljZS1ub3JtYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1eWJveF9wcmljZS1ub3JtYWwtcHJpY2UtZm9udC1zaXplOiAxLjhyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbiRidXlib3hfcHJpY2Utb2xkLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X29sZC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRidXlib3hfcHJpY2Utb2xkLXByaWNlLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC10ZXh0LWRlY29yYXRpb246ICRwcmljZS1ib3hfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJGJ1eWJveF9wcmljZS1zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV5Ym94X3ByaWNlLXNwZWNpYWwtcHJpY2UtZm9udC1zaXplOiAxLjhyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X3ByaWNlLXNwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcblxuJGJ1eWJveF9wcm9kdWN0LXZhcmlhbnRzLXNlbGVjdC1oZWlnaHQ6IDRlbSAhZGVmYXVsdDtcblxuJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG9jYXJ0LWZpZWxkc2V0LWp1c3RpZnktY29udGVudDogc3RyZXRjaCAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG9jYXJ0LWZpZWxkc2V0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0b2NhcnQtYWN0aW9ucy1mbGV4LWdyb3c6IDEwICFkZWZhdWx0OyAvLyBidXR0b24gd2lsbCBmaWxsIG1heCBwb3NzaWJsZSBmcmVlIHNwYWNlXG4kYnV5Ym94X2FkZHRvY2FydC1idXR0b24tZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbiRidXlib3hfcXR5LXdyYXBwZXItd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuJGJ1eWJveF9xdHktd3JhcHBlci13aWR0aC1sYXB0b3AtdXA6IDExcmVtICFkZWZhdWx0O1xuJGJ1eWJveF9xdHktd3JhcHBlci1tYXJnaW46IDAgMS41cmVtIDAgMCAhZGVmYXVsdDtcbiRidXlib3hfcXR5LXdyYXBwZXItZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbiRidXlib3hfc3RvY2stbWFyZ2luOiAwIDAgJGJ1eWJveF9zZWN0aW9uLWVsZW1lbnRzLWd1dHRlciAhZGVmYXVsdDtcbiRidXlib3hfc3RvY2stY29sb3I6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRidXlib3hfc3RvY2stLXVuYXZhaWxhYmxlLWNvbG9yOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGJ1eWJveF9zdG9jay1pY29uLXdpZHRoOiAkaW5kaWNhdG9yX2ljb24td2lkdGggIWRlZmF1bHQ7IC8vIHRha2VuIGZyb20gY29tcG9uZW50L2luZGljYXRvcnMvbWl4aW5zLnNjc3NcbiRidXlib3hfc3RvY2staWNvbi1oZWlnaHQ6ICRpbmRpY2F0b3JfaWNvbi1oZWlnaHQgIWRlZmF1bHQ7IC8vIHRha2VuIGZyb20gY29tcG9uZW50L2luZGljYXRvcnMvbWl4aW5zLnNjc3NcblxuJGJ1eWJveF9zdG9jay1zdWJzY3JpcHRpb24tbWFyZ2luOiAwIDAgJGJ1eWJveF9zZWN0aW9uLWVsZW1lbnRzLWd1dHRlciAhZGVmYXVsdDtcblxuJGJ1eWJveF9hZGR0by1saXN0LWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWxpc3QtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1pdGVtLWl0ZW1zLWd1dHRlcjogMnJlbSAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG8tbGluay1kaXNwbGF5OiBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG8tbGluay1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG8tbGluay10ZXh0LWRlY29yYXRpb246IGluaGVyaXQgIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWxpbmstLWhvdmVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWljb24taGVpZ2h0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWljb24tLXdpc2hsaXN0LXdpZHRoOiAkYnV5Ym94X2FkZHRvLWljb24taGVpZ2h0ICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1pY29uLS1jb21wYXJlLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuLy8gaWYgeW91IHdhbnQgdG8ga2VlcCB0aGUgc2FtZSBmaWxsLWNvbG9yIHRoYXQgbGluayBoYXMsIHBsZWFzZSB1c2UgJ2N1cnJlbnRDb2xvcicgZm9yIGljb25zICdmaWxsJyBwcm9wLiBJdCB3aWxsIGFsc28gYmUgYW5pbWF0ZWQgYnkgZGVmYXVsdC5cbiRidXlib3hfYWRkdG8taWNvbi0td2lzaGxpc3QtZmlsbDogJGNvbG9yX2NyaW1zb24gIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWljb24tLWNvbXBhcmUtZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4kYnV5Ym94X3VzcHMtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRidXlib3hfdXNwcy1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcHMtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcHMtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGJ1eWJveF91c3BzLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGJ1eWJveF91c3AtaWNvbi1oZWlnaHQ6IDIuMnJlbSAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWljb24tbWFyZ2luOiAxcHggMC44cmVtIDAgMCAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWljb24tZmlsbDogY3VycmVudENvbG9yICFkZWZhdWx0O1xuJGJ1eWJveF91c3AtaWNvbi0tMS13aWR0aDogJGJ1eWJveF91c3AtaWNvbi1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcC1pY29uLS0yLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJGJ1eWJveF91c3AtaWNvbi0tMy13aWR0aDogMi4zcmVtICFkZWZhdWx0O1xuJGJ1eWJveF91c3AtbGFiZWwtd2lkdGg6IG1pbi1jb250ZW50ICFkZWZhdWx0OyAvLyB0aGlzIHZhbHVlIHdpbGwgbWFrZSBzdXJlIGl0IHdpbGwgYnJlYWNoIGFmdGVyIGVhY2ggd29yZC5cblxuLy8gRG93bmxvYWRhYmxlIHByb2R1Y3RzXG4kYnV5Ym94X2Rvd25sb2FkYWJsZS1vcHRpb24tbWFyZ2luOiAwIDAgMC43ZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X2Rvd25sb2FkYWJsZS1oaWRlLWR1cGxpY2F0ZWQtcHJpY2UtYm94OiB0cnVlICFkZWZhdWx0O1xuXG4vLyBVcGRhdGUgYnV0dG9uXG4kYnV5Ym94X3VwZGF0ZS1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kYnV5Ym94X3VwZGF0ZS1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIGJ1dHRvblxuJGJ1eWJveF9jdXN0b21pemUtYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGJ1eWJveF9jdXN0b21pemUtYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbi4jeyRuc31idXlib3gge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6ICRidXlib3hfZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV5Ym94X2xpbmUtaGVpZ2h0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBib3JkZXItbGVmdDogJGJ1eWJveF9zZXBhcmF0b3ItYm9yZGVyO1xuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAkYnV5Ym94X3NlY3Rpb24tcGFkZGluZy1tb2JpbGU7XG4gICAgICAgIGJvcmRlci10b3A6ICRidXlib3hfc2VjdGlvbi1ib3JkZXI7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogJGJ1eWJveF9zZWN0aW9uLXBhZGRpbmctdGFibGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogJGJ1eWJveF9zZWN0aW9uLXBhZGRpbmctbGFwdG9wLXVwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSxcbiAgICAgICAgJjpibGFuayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgQGlmICRidXlib3hfYnJhbmQtZW5hYmxlLXNlcGFyYXRvciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkYnV5Ym94X2JyYW5kLXNlcGFyYXRvci1jb250ZW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9icmFuZC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXlib3hfYnJhbmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X2JyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRidXlib3hfYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICBtYXJnaW46ICRidXlib3hfY2F0ZWdvcnktbWFyZ2luO1xuICAgICAgICBjb2xvcjogJGJ1eWJveF9jYXRlZ29yeS1uYW1lLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRidXlib3hfY2F0ZWdvcnktbmFtZS1mb250LXNpemU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9wcm9kdWN0LW5hbWUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGJ1eWJveF9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYnV5Ym94X3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodDtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmV2aWV3cy1zdW1tYXJ5LFxuICAgICZfX2hpZ2hsaWdodHMsXG4gICAgJl9fZGFpbHktZGVhbCB7XG4gICAgICAgIG1hcmdpbjogJGJ1eWJveF9zZWN0aW9uLWVsZW1lbnRzLWd1dHRlciAwIDA7XG5cbiAgICAgICAgJjplbXB0eSxcbiAgICAgICAgJjpibGFuayB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIG1hcmdpbjogJGJ1eWJveF9zZWN0aW9uLWVsZW1lbnRzLWd1dHRlciAwIDA7XG5cbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246ICRidXlib3hfcHJpY2UtZmxleC1kaXJlY3Rpb247XG4gICAgICAgICAgICBmbGV4LXdyYXA6ICRidXlib3hfcHJpY2UtZmxleC13cmFwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXlib3hfcHJpY2Utbm9ybWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9wcmljZS1ub3JtYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1mb250LXdlaWdodDtcblxuICAgICAgICAgICAgICAgICYuZGlzY291bnRlZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X3ByaWNlLXNwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC10ZXh0LWRlY29yYXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXlib3hfcHJpY2Utc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X3ByaWNlLXNwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJ1eWJveF9wcmljZS1zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkYnV5Ym94X3ByaWNlLWZsZXgtZGlyZWN0aW9uID09ICdyb3cnKSB7XG4gICAgICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGJ1eWJveF9wcmljZS1mbGV4LWRpcmVjdGlvbiA9PSAncm93LXJldmVyc2UnKSB7XG4gICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtdGllcl9wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vIFNob3J0IGRlc2NyaXB0aW9uXG4gICAgLnByb2R1Y3QuYXR0cmlidXRlLm92ZXJ2aWV3IHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJ1eWJveF9zZWN0aW9uLWVsZW1lbnRzLWd1dHRlcjtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LXZhcmlhbnRzLFxuICAgICZfX2FkZHRvY2FydCxcbiAgICAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgIC8vIFJlc2V0IG1hcmdpbiBmb3IgYnVuZGxlIHByb2R1Y3RzXG4gICAgICAgIC5wYWdlLXByb2R1Y3QtYnVuZGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LXZhcmlhbnRzIHtcbiAgICAgICAgLy8gRml4IGZvciBkaXNhcHBlYXJpbmcgaHRtbCBzZWxlY3RcbiAgICAgICAgLiN7JG5zfWh0bWwtc2VsZWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9aHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAkYnV5Ym94X3Byb2R1Y3QtdmFyaWFudHMtc2VsZWN0LWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3QtdmFyaWFudHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNGVtO1xuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1maWVsZHNldCB7XG4gICAgICAgIGRpc3BsYXk6ICRidXlib3hfYWRkdG9jYXJ0LWZpZWxkc2V0LWRpc3BsYXk7XG5cbiAgICAgICAgQGlmICRidXlib3hfYWRkdG9jYXJ0LWZpZWxkc2V0LWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGZsZXggb3JcbiAgICAgICAgICAgICRidXlib3hfYWRkdG9jYXJ0LWZpZWxkc2V0LWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGlubGluZS1mbGV4XG4gICAgICAgIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRidXlib3hfYWRkdG9jYXJ0LWZpZWxkc2V0LWFsaWduLWl0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0LWFjdGlvbnMge1xuICAgICAgICBmbGV4LWdyb3c6ICRidXlib3hfYWRkdG9jYXJ0LWFjdGlvbnMtZmxleC1ncm93O1xuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRidXlib3hfYWRkdG9jYXJ0LWJ1dHRvbi1mb250LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHktd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAkYnV5Ym94X3F0eS13cmFwcGVyLXdpZHRoO1xuICAgICAgICBtYXJnaW46ICRidXlib3hfcXR5LXdyYXBwZXItbWFyZ2luO1xuICAgICAgICBmb250LXNpemU6ICRidXlib3hfcXR5LXdyYXBwZXItZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV5Ym94X3F0eS13cmFwcGVyLXdpZHRoLWxhcHRvcC11cDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIERvd25sb2FkYWJsZSBwcm9kdWN0IG1vZGlmaWNhdGlvbiAtIGFsaWduIHdpdGggTWFnZW50byBCbGFuayAqL1xuICAgICAgICAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191cGRhdGUge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGJ1eWJveF91cGRhdGUtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3VwZGF0ZS1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGJ1eWJveF91cGRhdGUtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX3VwZGF0ZS1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGJ1eWJveF91cGRhdGUtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qIERlZmF1bHQgc3R5bGluZyBpcyBmb3IgSU4gU1RPQ0sgdmFyaWFudCAqL1xuICAgICZfX3N0b2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAkYnV5Ym94X3N0b2NrLW1hcmdpbjtcbiAgICAgICAgY29sb3I6ICRidXlib3hfc3RvY2stY29sb3I7XG5cbiAgICAgICAgJi0tdW5hdmFpbGFibGUge1xuICAgICAgICAgICAgY29sb3I6ICRidXlib3hfc3RvY2stLXVuYXZhaWxhYmxlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBzdHlsaW5nIGlzIGZvciBJTiBTVE9DSyB2YXJpYW50ICovXG4gICAgJl9fc3RvY2staWNvbiB7XG4gICAgICAgIHdpZHRoOiAkYnV5Ym94X3N0b2NrLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGJ1eWJveF9zdG9jay1pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgJl9fc3RvY2stc3Vic2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAkYnV5Ym94X3N0b2NrLXN1YnNjcmlwdGlvbi1tYXJnaW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19hZGR0by1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgICAgICBkaXNwbGF5OiAkYnV5Ym94X2FkZHRvLWxpc3QtZGlzcGxheTtcblxuICAgICAgICBAaWYgJGJ1eWJveF9hZGR0by1saXN0LWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGZsZXggb3JcbiAgICAgICAgICAgICRidXlib3hfYWRkdG8tbGlzdC1kaXNwbGF5ID09XG4gICAgICAgICAgICBpbmxpbmUtZmxleFxuICAgICAgICB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRidXlib3hfYWRkdG8tbGlzdC1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG8taXRlbSB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtICRidXlib3hfYWRkdG8taXRlbS1pdGVtcy1ndXR0ZXIgMC41cmVtIDA7XG5cbiAgICAgICAgQGlmICRidXlib3hfYWRkdG8taXRlbS1pdGVtcy1ndXR0ZXIgIT0gMCB7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiAkYnV5Ym94X2FkZHRvLWxpbmstZGlzcGxheTtcbiAgICAgICAgY29sb3I6ICRidXlib3hfYWRkdG8tbGluay1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYnV5Ym94X2FkZHRvLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgQGlmICRidXlib3hfYWRkdG8tbGluay1kaXNwbGF5ID09XG4gICAgICAgICAgICBmbGV4IG9yXG4gICAgICAgICAgICAkYnV5Ym94X2FkZHRvLWxpbmstZGlzcGxheSA9PVxuICAgICAgICAgICAgaW5saW5lLWZsZXhcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRidXlib3hfYWRkdG8tbGluay0taG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0by1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAkYnV5Ym94X2FkZHRvLWljb24taGVpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJi0td2lzaGxpc3Qge1xuICAgICAgICAgICAgd2lkdGg6ICRidXlib3hfYWRkdG8taWNvbi0td2lzaGxpc3Qtd2lkdGg7XG4gICAgICAgICAgICBmaWxsOiAkYnV5Ym94X2FkZHRvLWljb24tLXdpc2hsaXN0LWZpbGw7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb21wYXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV5Ym94X2FkZHRvLWljb24tLWNvbXBhcmUtd2lkdGg7XG4gICAgICAgICAgICBmaWxsOiAkYnV5Ym94X2FkZHRvLWljb24tLWNvbXBhcmUtZmlsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VzcHMge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgICAgIGRpc3BsYXk6ICRidXlib3hfdXNwcy1kaXNwbGF5O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF91c3BzLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRidXlib3hfdXNwcy1jb2xvcjtcblxuICAgICAgICBAaWYgJGJ1eWJveF91c3BzLWRpc3BsYXkgPT0gZmxleCBvciAkYnV5Ym94X3VzcHMtZGlzcGxheSA9PSBpbmxpbmUtZmxleFxuICAgICAgICB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRidXlib3hfdXNwcy1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGJ1eWJveF91c3BzLWFsaWduLWl0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXNwIHtcbiAgICAgICAgZGlzcGxheTogJGJ1eWJveF91c3AtZGlzcGxheTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX191c3AtaWNvbiB7XG4gICAgICAgIGhlaWdodDogJGJ1eWJveF91c3AtaWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogJGJ1eWJveF91c3AtaWNvbi1tYXJnaW47XG4gICAgICAgIGZpbGw6ICRidXlib3hfdXNwLWljb24tZmlsbDtcblxuICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV5Ym94X3VzcC1pY29uLS0xLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tMiB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1eWJveF91c3AtaWNvbi0tMi13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTMge1xuICAgICAgICAgICAgd2lkdGg6ICRidXlib3hfdXNwLWljb24tLTMtd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191c3AtbGFiZWwge1xuICAgICAgICB3aWR0aDogJGJ1eWJveF91c3AtbGFiZWwtd2lkdGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG93bmxvYWRhYmxlIHByb2R1Y3RzXG4gICAgICovXG4gICAgJl9fZG93bmxvYWRhYmxlLW9wdGlvbnMge1xuICAgICAgICAvLyBHbG9iYWwgXCJEb3dubG9hZHNcIiBsYWJlbFxuICAgICAgICAuZG93bmxvYWRzID4gLmxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGJ1eWJveF9kb3dubG9hZGFibGUtb3B0aW9uLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvcm0gbGVnZW5kIChhY3R1YWxseSBpdCdzIGR1cGxpY2F0ZWQgLmRvd25sb2FkcyA+IGxhYmVsKS5cbiAgICAgICAgLy8gQWZ0ZXIgbGVnZW5kIHRoZXJlJ3MgYSBsaW5lLWJyZWFrIHdoaWNoIGlzIGFsc28gaGlkZGVuIGhlcmVcbiAgICAgICAgLmxlZ2VuZCB7XG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJiArIGJyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2luZ2xlIG9wdGlvbiB3cmFwcGVyXG4gICAgICAgIC5jaG9pY2Uge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogJGJ1eWJveF9kb3dubG9hZGFibGUtb3B0aW9uLW1hcmdpbjtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3B0aW9uIGNoZWNrYm94XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjdlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcHRpb24gbGFiZWxcbiAgICAgICAgLmZpZWxkIC5sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERvd25sb2FkYWJsZSBwcm9kdWN0cyBoYXZlIGR1cGxpY2F0ZWQgcHJpY2UgYm94IGluc2lkZSB0aGUgb3B0aW9uc1xuICAgIC8vIEl0IGJlaGF2ZXMgZXhhY2x0eSB0aGUgc2FtZSB3YXkgb3JpZ2luYWwgZG9lcy4gQ2hvb3NpbmcgYW4gb3B0aW9uIHVwZGF0ZXMgYm90aCBvZiB0aGVtXG4gICAgQGlmICRidXlib3hfZG93bmxvYWRhYmxlLWhpZGUtZHVwbGljYXRlZC1wcmljZS1ib3gge1xuICAgICAgICAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAmIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1maW5hbF9wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdyb3VwZWQgcHJvZHVjdHNcbiAgICAgKi9cbiAgICAuZ3JvdXBlZCB7XG4gICAgICAgIC8vIFJlc2V0IG1hcmdpbiBiZXR3ZWVuIHByb2R1Y3Qgb3B0aW9ucyAocXR5IGNob29zZXJzKSBhbmQgYWRkLXRvLWNhcnQgYnV0dG9uXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgLy8gQWxpZ24gY29sdW1ucyB0byB0aGUgY2VudGVyIGFuZCByZXNldCBwYWRkaW5nIGZvciBmaXJzdCBhbmQgbGFzdCBjb2x1bW5zIG9mIHRoZSB0YWJsZXNcbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHF0eS1zd2l0Y2hlciB3aWR0aCAoZm9yIHdob2xlIHRhYmxlIGNvbHVtbilcbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1eWJveF9xdHktd3JhcHBlci13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc3BsYXkgcHJpY2UgYmVsb3cgcHJvZHVjdCBvcHRpb24gYW5kIG1ha2Ugc29tZSBzcGFjaW5nIGJldHdlZW4gb3B0aW9uJ3MgbmFtZSBhbmQgcHJpY2VcbiAgICAgICAgLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4zZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcm91cGVkIHByb2R1Y3RzIHZhbGlkYXRlIGlmIGF0IGxlYXN0IG9uZSBvZiB0aGVtIGhhcyBxdHkgPiAwLlxuICAgIC8vIEFkZCBzcGFjaW5nIGJlZXR3ZWVuIHZhbGlkYXRpb24gZXJyb3IgYW5kIGFkZC10by1jYXJ0IGJ1dHRvbi5cbiAgICAjdmFsaWRhdGlvbi1tZXNzYWdlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICB9XG5cbiAgICAuY3VzdG9taXplIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRidXlib3hfY3VzdG9taXplLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X2N1c3RvbWl6ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMiAqICRidXlib3hfc2VjdGlvbi1lbGVtZW50cy1ndXR0ZXI7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGJ1eWJveF9jdXN0b21pemUtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X2N1c3RvbWl6ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pbmRpY2F0b3JzL21peGlucy5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcmljZS1ib3gvdmFyaWFibGVzLnNjc3MnO1xuXG5AaW1wb3J0ICd+Q3JlYXRpdmVzaG9wL2NvbXBvbmVudHMvYnV5Ym94L2J1eWJveC5zY3NzJztcblxuLy8gU29tZSBnbG9iYWxzXG4kYnV5Ym94X2ZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGJ1eWJveF9saW5lLWhlaWdodDogMS44O1xuJGJ1eWJveF9zZWN0aW9uLWVsZW1lbnRzLWd1dHRlcjogMS41cmVtICFkZWZhdWx0OyAvLyBtYXJnaW4gYmV0d2VlbiBjb21wb25lbnRzIGluc2lkZSBzZWN0aW9ucywgbm90IHNlY3Rpb25zIGl0c2VsZlxuXG4kYnV5Ym94X3NlcGFyYXRvci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJGJ1eWJveF9zZWN0aW9uLWJvcmRlcjogJGJ1eWJveF9zZXBhcmF0b3ItYm9yZGVyICFkZWZhdWx0O1xuJGJ1eWJveF9zZWN0aW9uLXBhZGRpbmctbW9iaWxlOiAxLjVyZW0gMCAhZGVmYXVsdDtcbiRidXlib3hfc2VjdGlvbi1wYWRkaW5nLXRhYmxldDogMS41cmVtICFkZWZhdWx0O1xuJGJ1eWJveF9zZWN0aW9uLXBhZGRpbmctbGFwdG9wLXVwOiAzcmVtICFkZWZhdWx0O1xuXG4kYnV5Ym94X2NhdGVnb3J5LW1hcmdpbjogMCAhZGVmYXVsdDtcbiRidXlib3hfY2F0ZWdvcnktbmFtZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGJ1eWJveF9jYXRlZ29yeS1uYW1lLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuXG4kYnV5Ym94X2JyYW5kLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGJ1eWJveF9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGJ1eWJveF9icmFuZC1lbmFibGUtc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuJGJ1eWJveF9icmFuZC1zZXBhcmF0b3ItY29udGVudDogJy8nICFkZWZhdWx0O1xuXG4kYnV5Ym94X3Byb2R1Y3QtbmFtZS1mb250LXNpemU6IDIuNHJlbTtcbiRidXlib3hfcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kYnV5Ym94X3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodDogMS4yZW07XG5cbiRidXlib3hfcHJpY2UtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFkZWZhdWx0OyAvLyB3aGVuIDIgcHJpY2VzIGFyZSBkaXNwbGF5ZWQsIHRoZXkncmUgdXNpbmcgZmxleCBmb3IgYXJyYW5nZW1lbnRcbiRidXlib3hfcHJpY2UtZmxleC13cmFwOiBub3dyYXAgIWRlZmF1bHQ7XG5cbiRidXlib3hfcHJpY2Utbm9ybWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRidXlib3hfcHJpY2Utbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTogMS44cmVtICFkZWZhdWx0O1xuJGJ1eWJveF9wcmljZS1ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4kYnV5Ym94X3ByaWNlLW9sZC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV5Ym94X3ByaWNlLW9sZC1wcmljZS1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRidXlib3hfcHJpY2Utb2xkLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRidXlib3hfcHJpY2Utb2xkLXByaWNlLWZvbnQtdGV4dC1kZWNvcmF0aW9uOiAkcHJpY2UtYm94X29sZC1wcmljZS10ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiRidXlib3hfcHJpY2Utc3BlY2lhbC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1eWJveF9wcmljZS1zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTogMS44cmVtICFkZWZhdWx0O1xuJGJ1eWJveF9wcmljZS1zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbiRidXlib3hfcHJvZHVjdC12YXJpYW50cy1zZWxlY3QtaGVpZ2h0OiA0ZW0gIWRlZmF1bHQ7XG5cbiRidXlib3hfYWRkdG9jYXJ0LWZpZWxkc2V0LWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvY2FydC1maWVsZHNldC1qdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2ggIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvY2FydC1maWVsZHNldC1hbGlnbi1pdGVtczogZmxleC1zdGFydCAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG9jYXJ0LWFjdGlvbnMtZmxleC1ncm93OiAxMCAhZGVmYXVsdDsgLy8gYnV0dG9uIHdpbGwgZmlsbCBtYXggcG9zc2libGUgZnJlZSBzcGFjZVxuJGJ1eWJveF9hZGR0b2NhcnQtYnV0dG9uLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuXG4kYnV5Ym94X3F0eS13cmFwcGVyLXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcbiRidXlib3hfcXR5LXdyYXBwZXItd2lkdGgtbGFwdG9wLXVwOiAxMXJlbSAhZGVmYXVsdDtcbiRidXlib3hfcXR5LXdyYXBwZXItbWFyZ2luOiAwIDEuNXJlbSAwIDAgIWRlZmF1bHQ7XG4kYnV5Ym94X3F0eS13cmFwcGVyLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuXG4kYnV5Ym94X3N0b2NrLW1hcmdpbjogMCAwICRidXlib3hfc2VjdGlvbi1lbGVtZW50cy1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV5Ym94X3N0b2NrLWNvbG9yOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYnV5Ym94X3N0b2NrLS11bmF2YWlsYWJsZS1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRidXlib3hfc3RvY2staWNvbi13aWR0aDogJGluZGljYXRvcl9pY29uLXdpZHRoICFkZWZhdWx0OyAvLyB0YWtlbiBmcm9tIGNvbXBvbmVudC9pbmRpY2F0b3JzL21peGlucy5zY3NzXG4kYnV5Ym94X3N0b2NrLWljb24taGVpZ2h0OiAkaW5kaWNhdG9yX2ljb24taGVpZ2h0ICFkZWZhdWx0OyAvLyB0YWtlbiBmcm9tIGNvbXBvbmVudC9pbmRpY2F0b3JzL21peGlucy5zY3NzXG5cbiRidXlib3hfc3RvY2stc3Vic2NyaXB0aW9uLW1hcmdpbjogMCAwICRidXlib3hfc2VjdGlvbi1lbGVtZW50cy1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRidXlib3hfYWRkdG8tbGlzdC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1saXN0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG8taXRlbS1pdGVtcy1ndXR0ZXI6IDJyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWxpbmstZGlzcGxheTogaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWxpbmstY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWxpbmstdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0ICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1saW5rLS1ob3Zlci1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1pY29uLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1pY29uLS13aXNobGlzdC13aWR0aDogJGJ1eWJveF9hZGR0by1pY29uLWhlaWdodCAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG8taWNvbi0tY29tcGFyZS13aWR0aDogMnJlbSAhZGVmYXVsdDtcbi8vIGlmIHlvdSB3YW50IHRvIGtlZXAgdGhlIHNhbWUgZmlsbC1jb2xvciB0aGF0IGxpbmsgaGFzLCBwbGVhc2UgdXNlICdjdXJyZW50Q29sb3InIGZvciBpY29ucyAnZmlsbCcgcHJvcC4gSXQgd2lsbCBhbHNvIGJlIGFuaW1hdGVkIGJ5IGRlZmF1bHQuXG4kYnV5Ym94X2FkZHRvLWljb24tLXdpc2hsaXN0LWZpbGw6ICRjb2xvcl9jcmltc29uICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1pY29uLS1jb21wYXJlLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuJGJ1eWJveF91c3BzLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcHMtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFkZWZhdWx0O1xuJGJ1eWJveF91c3BzLWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGJ1eWJveF91c3BzLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRidXlib3hfdXNwcy1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGJ1eWJveF91c3AtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWljb24taGVpZ2h0OiAyLjJyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcC1pY29uLW1hcmdpbjogMXB4IDAuOHJlbSAwIDAgIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcC1pY29uLWZpbGw6IGN1cnJlbnRDb2xvciAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWljb24tLTEtd2lkdGg6ICRidXlib3hfdXNwLWljb24taGVpZ2h0ICFkZWZhdWx0O1xuJGJ1eWJveF91c3AtaWNvbi0tMi13aWR0aDogMnJlbSAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWljb24tLTMtd2lkdGg6IDIuM3JlbSAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWxhYmVsLXdpZHRoOiBtaW4tY29udGVudCAhZGVmYXVsdDsgLy8gdGhpcyB2YWx1ZSB3aWxsIG1ha2Ugc3VyZSBpdCB3aWxsIGJyZWFjaCBhZnRlciBlYWNoIHdvcmQuXG5cbi8vIERvd25sb2FkYWJsZSBwcm9kdWN0c1xuJGJ1eWJveF9kb3dubG9hZGFibGUtb3B0aW9uLW1hcmdpbjogMCAwIDAuN2VtICFkZWZhdWx0O1xuJGJ1eWJveF9kb3dubG9hZGFibGUtaGlkZS1kdXBsaWNhdGVkLXByaWNlLWJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gVXBkYXRlIGJ1dHRvblxuJGJ1eWJveF91cGRhdGUtYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGJ1eWJveF91cGRhdGUtYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSBidXR0b25cbiRidXlib3hfY3VzdG9taXplLWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRidXlib3hfY3VzdG9taXplLWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4uI3skbnN9YnV5Ym94IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkYnV5Ym94X2ZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJ1eWJveF9saW5lLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6ICRidXlib3hfc2VjdGlvbi1wYWRkaW5nLW1vYmlsZTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYnV5Ym94X3NlY3Rpb24tcGFkZGluZy10YWJsZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYnV5Ym94X3NlY3Rpb24tcGFkZGluZy1sYXB0b3AtdXA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5LFxuICAgICAgICAgICAgJjpibGFuayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgQGlmICRidXlib3hfYnJhbmQtZW5hYmxlLXNlcGFyYXRvciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkYnV5Ym94X2JyYW5kLXNlcGFyYXRvci1jb250ZW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9icmFuZC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXlib3hfYnJhbmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X2JyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRidXlib3hfYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICBtYXJnaW46ICRidXlib3hfY2F0ZWdvcnktbWFyZ2luO1xuICAgICAgICBjb2xvcjogJGJ1eWJveF9jYXRlZ29yeS1uYW1lLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRidXlib3hfY2F0ZWdvcnktbmFtZS1mb250LXNpemU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9wcm9kdWN0LW5hbWUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGJ1eWJveF9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYnV5Ym94X3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodDtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Jldmlld3Mtc3VtbWFyeSxcbiAgICAmX19oaWdobGlnaHRzLFxuICAgICZfX2RhaWx5LWRlYWwge1xuICAgICAgICBtYXJnaW46ICRidXlib3hfc2VjdGlvbi1lbGVtZW50cy1ndXR0ZXIgMCAwO1xuXG4gICAgICAgICY6ZW1wdHksXG4gICAgICAgICAgICAmOmJsYW5rIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgbWFyZ2luOiAkYnV5Ym94X3NlY3Rpb24tZWxlbWVudHMtZ3V0dGVyIDAgMDtcblxuICAgICAgICAjY29udGFjdF9saW5rIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246ICRidXlib3hfcHJpY2UtZmxleC1kaXJlY3Rpb247XG4gICAgICAgICAgICBmbGV4LXdyYXA6ICRidXlib3hfcHJpY2UtZmxleC13cmFwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXlib3hfcHJpY2Utbm9ybWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9wcmljZS1ub3JtYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1mb250LXdlaWdodDtcblxuICAgICAgICAgICAgICAgICYuZGlzY291bnRlZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X3ByaWNlLXNwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC10ZXh0LWRlY29yYXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXlib3hfcHJpY2Utc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X3ByaWNlLXNwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJ1eWJveF9wcmljZS1zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkYnV5Ym94X3ByaWNlLWZsZXgtZGlyZWN0aW9uID09ICdyb3cnKSB7XG4gICAgICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGJ1eWJveF9wcmljZS1mbGV4LWRpcmVjdGlvbiA9PSAncm93LXJldmVyc2UnKSB7XG4gICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtdGllcl9wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX3Byb2R1Y3QtdmFyaWFudHMsXG4gICAgJl9fYWRkdG9jYXJ0LFxuICAgIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgLy8gUmVzZXQgbWFyZ2luIGZvciBidW5kbGUgcHJvZHVjdHNcbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3QtdmFyaWFudHMge1xuICAgICAgICAvLyBGaXggZm9yIGRpc2FwcGVhcmluZyBodG1sIHNlbGVjdFxuICAgICAgICAuI3skbnN9aHRtbC1zZWxlY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc31odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRidXlib3hfcHJvZHVjdC12YXJpYW50cy1zZWxlY3QtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC12YXJpYW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0LWZpZWxkc2V0IHtcbiAgICAgICAgZGlzcGxheTogJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtZGlzcGxheTtcblxuICAgICAgICBAaWYgJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtZGlzcGxheSA9PVxuICAgICAgICBmbGV4IG9yXG4gICAgICAgICRidXlib3hfYWRkdG9jYXJ0LWZpZWxkc2V0LWRpc3BsYXkgPT1cbiAgICAgICAgaW5saW5lLWZsZXhcbiAgICAgICAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkYnV5Ym94X2FkZHRvY2FydC1maWVsZHNldC1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtYWxpZ24taXRlbXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0b2NhcnQtYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZ3JvdzogJGJ1eWJveF9hZGR0b2NhcnQtYWN0aW9ucy1mbGV4LWdyb3c7XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9hZGR0b2NhcnQtYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3F0eS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6ICRidXlib3hfcXR5LXdyYXBwZXItd2lkdGg7XG4gICAgICAgIG1hcmdpbjogJGJ1eWJveF9xdHktd3JhcHBlci1tYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9xdHktd3JhcHBlci1mb250LXNpemU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6ICRidXlib3hfcXR5LXdyYXBwZXItd2lkdGgtbGFwdG9wLXVwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogRG93bmxvYWRhYmxlIHByb2R1Y3QgbW9kaWZpY2F0aW9uIC0gYWxpZ24gd2l0aCBNYWdlbnRvIEJsYW5rICovXG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VwZGF0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X3VwZGF0ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fdXBkYXRlLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgJHR5cGU6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X3VwZGF0ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fdXBkYXRlLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgJHR5cGU6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X3VwZGF0ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBzdHlsaW5nIGlzIGZvciBJTiBTVE9DSyB2YXJpYW50ICovXG4gICAgJl9fc3RvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46ICRidXlib3hfc3RvY2stbWFyZ2luO1xuICAgICAgICBjb2xvcjogJGJ1eWJveF9zdG9jay1jb2xvcjtcblxuICAgICAgICAmLS11bmF2YWlsYWJsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGJ1eWJveF9zdG9jay0tdW5hdmFpbGFibGUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IHN0eWxpbmcgaXMgZm9yIElOIFNUT0NLIHZhcmlhbnQgKi9cbiAgICAmX19zdG9jay1pY29uIHtcbiAgICAgICAgd2lkdGg6ICRidXlib3hfc3RvY2staWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkYnV5Ym94X3N0b2NrLWljb24taGVpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmX19zdG9jay1zdWJzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW46ICRidXlib3hfc3RvY2stc3Vic2NyaXB0aW9uLW1hcmdpbiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2FkZHRvLWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgICAgIGRpc3BsYXk6ICRidXlib3hfYWRkdG8tbGlzdC1kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAkYnV5Ym94X2FkZHRvLWxpc3QtZGlzcGxheSA9PVxuICAgICAgICBmbGV4IG9yXG4gICAgICAgICRidXlib3hfYWRkdG8tbGlzdC1kaXNwbGF5ID09XG4gICAgICAgIGlubGluZS1mbGV4XG4gICAgICAgIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGJ1eWJveF9hZGR0by1saXN0LWp1c3RpZnktY29udGVudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0by1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gJGJ1eWJveF9hZGR0by1pdGVtLWl0ZW1zLWd1dHRlciAwLjVyZW0gMDtcblxuICAgICAgICBAaWYgJGJ1eWJveF9hZGR0by1pdGVtLWl0ZW1zLWd1dHRlciAhPSAwIHtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG8tbGluayB7XG4gICAgICAgIGRpc3BsYXk6ICRidXlib3hfYWRkdG8tbGluay1kaXNwbGF5O1xuICAgICAgICBjb2xvcjogJGJ1eWJveF9hZGR0by1saW5rLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRidXlib3hfYWRkdG8tbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICBAaWYgJGJ1eWJveF9hZGR0by1saW5rLWRpc3BsYXkgPT1cbiAgICAgICAgZmxleCBvclxuICAgICAgICAkYnV5Ym94X2FkZHRvLWxpbmstZGlzcGxheSA9PVxuICAgICAgICBpbmxpbmUtZmxleFxuICAgICAgICB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJ1eWJveF9hZGR0by1saW5rLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvLWljb24ge1xuICAgICAgICBoZWlnaHQ6ICRidXlib3hfYWRkdG8taWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmLS13aXNobGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1eWJveF9hZGR0by1pY29uLS13aXNobGlzdC13aWR0aDtcbiAgICAgICAgICAgIGZpbGw6ICRidXlib3hfYWRkdG8taWNvbi0td2lzaGxpc3QtZmlsbDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbXBhcmUge1xuICAgICAgICAgICAgd2lkdGg6ICRidXlib3hfYWRkdG8taWNvbi0tY29tcGFyZS13aWR0aDtcbiAgICAgICAgICAgIGZpbGw6ICRidXlib3hfYWRkdG8taWNvbi0tY29tcGFyZS1maWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXNwcyB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICAgICAgZGlzcGxheTogJGJ1eWJveF91c3BzLWRpc3BsYXk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X3VzcHMtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGJ1eWJveF91c3BzLWNvbG9yO1xuXG4gICAgICAgIEBpZiAkYnV5Ym94X3VzcHMtZGlzcGxheSA9PSBmbGV4IG9yICRidXlib3hfdXNwcy1kaXNwbGF5ID09IGlubGluZS1mbGV4XG4gICAgICAgIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGJ1eWJveF91c3BzLWp1c3RpZnktY29udGVudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkYnV5Ym94X3VzcHMtYWxpZ24taXRlbXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191c3Age1xuICAgICAgICBkaXNwbGF5OiAkYnV5Ym94X3VzcC1kaXNwbGF5O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3VzcC1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAkYnV5Ym94X3VzcC1pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAkYnV5Ym94X3VzcC1pY29uLW1hcmdpbjtcbiAgICAgICAgZmlsbDogJGJ1eWJveF91c3AtaWNvbi1maWxsO1xuXG4gICAgICAgICYtLTEge1xuICAgICAgICAgICAgd2lkdGg6ICRidXlib3hfdXNwLWljb24tLTEtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS0yIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV5Ym94X3VzcC1pY29uLS0yLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tMyB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1eWJveF91c3AtaWNvbi0tMy13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VzcC1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAkYnV5Ym94X3VzcC1sYWJlbC13aWR0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb3dubG9hZGFibGUgcHJvZHVjdHNcbiAgICAgKi9cbiAgICAmX19kb3dubG9hZGFibGUtb3B0aW9ucyB7XG4gICAgICAgIC8vIEdsb2JhbCBcIkRvd25sb2Fkc1wiIGxhYmVsXG4gICAgICAgIC5kb3dubG9hZHMgPiAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAkYnV5Ym94X2Rvd25sb2FkYWJsZS1vcHRpb24tbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9ybSBsZWdlbmQgKGFjdHVhbGx5IGl0J3MgZHVwbGljYXRlZCAuZG93bmxvYWRzID4gbGFiZWwpLlxuICAgICAgICAvLyBBZnRlciBsZWdlbmQgdGhlcmUncyBhIGxpbmUtYnJlYWsgd2hpY2ggaXMgYWxzbyBoaWRkZW4gaGVyZVxuICAgICAgICAubGVnZW5kIHtcbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmICsgYnIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaW5nbGUgb3B0aW9uIHdyYXBwZXJcbiAgICAgICAgLmNob2ljZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAkYnV5Ym94X2Rvd25sb2FkYWJsZS1vcHRpb24tbWFyZ2luO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcHRpb24gY2hlY2tib3hcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuN2VtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wdGlvbiBsYWJlbFxuICAgICAgICAuZmllbGQgLmxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG93bmxvYWRhYmxlIHByb2R1Y3RzIGhhdmUgZHVwbGljYXRlZCBwcmljZSBib3ggaW5zaWRlIHRoZSBvcHRpb25zXG4gICAgLy8gSXQgYmVoYXZlcyBleGFjbHR5IHRoZSBzYW1lIHdheSBvcmlnaW5hbCBkb2VzLiBDaG9vc2luZyBhbiBvcHRpb24gdXBkYXRlcyBib3RoIG9mIHRoZW1cbiAgICBAaWYgJGJ1eWJveF9kb3dubG9hZGFibGUtaGlkZS1kdXBsaWNhdGVkLXByaWNlLWJveCB7XG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlICYge1xuICAgICAgICAgICAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR3JvdXBlZCBwcm9kdWN0c1xuICAgICAqL1xuICAgIC5ncm91cGVkIHtcbiAgICAgICAgLy8gUmVzZXQgbWFyZ2luIGJldHdlZW4gcHJvZHVjdCBvcHRpb25zIChxdHkgY2hvb3NlcnMpIGFuZCBhZGQtdG8tY2FydCBidXR0b25cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAvLyBBbGlnbiBjb2x1bW5zIHRvIHRoZSBjZW50ZXIgYW5kIHJlc2V0IHBhZGRpbmcgZm9yIGZpcnN0IGFuZCBsYXN0IGNvbHVtbnMgb2YgdGhlIHRhYmxlc1xuICAgICAgICAuY29sIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgcXR5LXN3aXRjaGVyIHdpZHRoIChmb3Igd2hvbGUgdGFibGUgY29sdW1uKVxuICAgICAgICAucXR5IHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV5Ym94X3F0eS13cmFwcGVyLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzcGxheSBwcmljZSBiZWxvdyBwcm9kdWN0IG9wdGlvbiBhbmQgbWFrZSBzb21lIHNwYWNpbmcgYmV0d2VlbiBvcHRpb24ncyBuYW1lIGFuZCBwcmljZVxuICAgICAgICAucHJpY2UtZmluYWxfcHJpY2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjNlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyb3VwZWQgcHJvZHVjdHMgdmFsaWRhdGUgaWYgYXQgbGVhc3Qgb25lIG9mIHRoZW0gaGFzIHF0eSA+IDAuXG4gICAgLy8gQWRkIHNwYWNpbmcgYmVldHdlZW4gdmFsaWRhdGlvbiBlcnJvciBhbmQgYWRkLXRvLWNhcnQgYnV0dG9uLlxuICAgICN2YWxpZGF0aW9uLW1lc3NhZ2UtYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgIH1cblxuICAgIC5jdXN0b21pemUge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICR0eXBlOiAkYnV5Ym94X2N1c3RvbWl6ZS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGJ1eWJveF9jdXN0b21pemUtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyICogJGJ1eWJveF9zZWN0aW9uLWVsZW1lbnRzLWd1dHRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRidXlib3hfY3VzdG9taXplLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGJ1eWJveF9jdXN0b21pemUtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LmF0dHJpYnV0ZS5vdmVydmlldyB7XG4gICAgICAgIGZvbnQtc2l6ZToxLjRyZW07XG4gICAgICAgIG1hcmdpbi10b3A6M3JlbTtcbiAgICB9XG59XG5cbi5jcy1idXlib3hfX3NlY3Rpb24tLWVzc2VudGlhbHMge1xuICAgIC5jcy1wcm9kdWN0LXNob3J0X2Rlc2Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjJyZW07XG4gICAgfVxuICAgIC5wcm9kdWN0LmF0dHJpYnV0ZS5sYWdlcixcbiAgICAucHJvZHVjdC5hdHRyaWJ1dGUuc2t1LFxuICAgIC5wcm9kdWN0LmF0dHJpYnV0ZS5saWVmZXJ6ZWl0LFxuICAgIC5wcm9kdWN0LmF0dHJpYnV0ZS5kZWxpdmVyeV90aW1lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZvbnQtc2l6ZToxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OjEuODtcbiAgICAgICAgLy93aWR0aDo1MCU7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIC8vZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6JzonO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2R1Y3QuYnJhbmQge1xuICAgICAgICBtYXJnaW46MnJlbSAwO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDo0MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAuY3MtYnV5Ym94X19zZWN0aW9uLS1lc3NlbnRpYWxzIHtcbiAgICAgICAgLnByb2R1Y3QuYXR0cmlidXRlLmxhZ2VyLFxuICAgICAgICAucHJvZHVjdC5hdHRyaWJ1dGUuc2t1LFxuICAgICAgICAucHJvZHVjdC5hdHRyaWJ1dGUuZGVsaXZlcnlfdGltZSxcbiAgICAgICAgLnByb2R1Y3QuYXR0cmlidXRlLmxpZWZlcnplaXQge1xuICAgICAgICAgICAgLy93aWR0aDoxNzBweDtcbiAgICAgICAgfVxuICAgICAgICAuY3MtYnV5Ym94X19wcmljZSB7XG4gICAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLmNzLXByb2R1Y3Qtc2hvcnRfZGVzYyB7XG4gICAgICAgICAgICBmb250LXNpemU6MS40cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MS44O1xuICAgICAgICB9XG4gICAgfVxufVxuLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgIGRpc3BsYXk6bm9uZTtcbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0cyB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogMCAwIDNyZW07IH1cbiAgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19oZWFkbGluZS50aXRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwIDAgMCAycmVtOyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fc2VsZWN0LWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgcGFkZGluZzogMC40ZW0gMC41NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX3NlbGVjdC1hbGw6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fc2VsZWN0LWFsbCwgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19zZWxlY3QtYWxsOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX3NlbGVjdC1hbGwgKiwgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19zZWxlY3QtYWxsOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19zZWxlY3QtYWxsOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19zZWxlY3QtYWxsOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19zZWxlY3QtYWxsOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX3NlbGVjdC1hbGw6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fc2VsZWN0LWFsbDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19zZWxlY3QtYWxsOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19zZWxlY3QtYWxsW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fbGlzdCwgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19faXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19pdGVtLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19jaGVja2JveC13cmFwcGVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4td2lkdGg6IDdyZW07XG4gICAgbWFyZ2luOiAwIDJyZW0gMCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMy4xMjVlbSkge1xuICAgICAgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgbWluLXdpZHRoOiA3LjZyZW07IH0gfVxuICAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX2NoZWNrYm94IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMS43ZW0gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEuN2VtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjdlbSAxLjdlbSAhaW1wb3J0YW50OyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fY2hlY2tib3gtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19pbWFnZSB7XG4gICAgbWFyZ2luOiAwIDJyZW0gMCAwOyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19faXRlbS1kZXRhaWxzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19faXRlbS1kZXRhaWxzIHtcbiAgICBtYXJnaW46IDAgMCAwLjZlbTtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19faXRlbS1uYW1lLCAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW0tbmFtZTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW0tYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwIDAgMCAycmVtOyB9XG4gIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fYXRjLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgcGFkZGluZzogMC40ZW0gMC43ZW07IH1cbiAgICAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX2F0Yy1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fYXRjLWJ1dHRvbiwgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19hdGMtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19hdGMtYnV0dG9uICosIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fYXRjLWJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fYXRjLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fYXRjLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fYXRjLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1idXlib3gtcmVsYXRlZC1wcm9kdWN0c19fYXRjLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX19hdGMtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX2F0Yy1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfX2F0Yy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcmljZS1ib3gvdmFyaWFibGVzLnNjc3MnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19tYXJnaW46IDAgIWRlZmF1bHQ7XG4kYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfaGVhZGVyLW1hcmdpbjogMCAwIDNyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfbWFrZS1zZWxlY3QtYWxsLWJ1dHRvbi1zbWFsbGVyOiB0cnVlICFkZWZhdWx0O1xuJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX3NlbGVjdC1hbGwtYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX3NlbGVjdC1hbGwtYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbiRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtcy1zZXBhcmF0b3I6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtcy1tYXJnaW46IDAgMCAxcmVtICFkZWZhdWx0O1xuJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW1zLXBhZGRpbmc6IDAgMCAxcmVtICFkZWZhdWx0O1xuXG4kYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfaXRlbS1nZW5lcmFsLWd1dHRlcjogMnJlbSAhZGVmYXVsdDtcbiRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtLWNoZWNrYm94LXdpZHRoOiAxLjdlbSAhZGVmYXVsdDtcbiRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtLWNoZWNrYm94LWhlaWdodDogJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW0tY2hlY2tib3gtd2lkdGggIWRlZmF1bHQ7XG4kYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfaXRlbS1jaGVja2JveC0tY2hlY2tlZC1iZy1zaXplOiAkYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfaXRlbS1jaGVja2JveC13aWR0aFxuICAgICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtLWNoZWNrYm94LWhlaWdodCAhZGVmYXVsdDtcblxuJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW0tZGV0YWlscy1mb250LXNpemU6IDEuMmVtICFkZWZhdWx0O1xuJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW0tbGluay1jb2xvcjogJGNvbG9yX21pbmVzaGFmdCAhZGVmYXVsdDtcblxuJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2F0Yy1idXR0b24tdHlwZTogJ3ByaW1hcnknICFkZWZhdWx0O1xuJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2F0Yy1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcbiRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19tYWtlLWF0Yy1idXR0b24tc21hbGxlcjogdHJ1ZSAhZGVmYXVsdDtcblxuLiN7JG5zfWJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzIHtcbiAgICAkcm9vdDogJjtcblxuICAgIG1hcmdpbjogJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX21hcmdpbiAhaW1wb3J0YW50O1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46ICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19oZWFkZXItbWFyZ2luO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtLWdlbmVyYWwtZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX3NlbGVjdC1hbGwge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX3NlbGVjdC1hbGwtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19zZWxlY3QtYWxsLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIEBpZiAkYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfbWFrZS1zZWxlY3QtYWxsLWJ1dHRvbi1zbWFsbGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNGVtIDAuNTVlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0LFxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW1zLW1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW1zLXBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtcy1zZXBhcmF0b3I7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiA3cmVtO1xuICAgICAgICBtYXJnaW46IDAgJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW0tZ2VuZXJhbC1ndXR0ZXIgMCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDcuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAkYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfaXRlbS1jaGVja2JveC13aWR0aCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6ICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtLWNoZWNrYm94LWhlaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19pdGVtLWNoZWNrYm94LS1jaGVja2VkLWJnLXNpemUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19jaGVja2JveC1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDAgJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW0tZ2VuZXJhbC1ndXR0ZXIgMCAwO1xuICAgIH1cblxuICAgICZfX2l0ZW0tZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9faXRlbS1kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveC1yZWxhdGVkLXByb2R1Y3RzX2l0ZW0tZGV0YWlscy1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9faXRlbS1uYW1lIHtcbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfaXRlbS1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkYnV5Ym94LXJlbGF0ZWQtcHJvZHVjdHNfaXRlbS1nZW5lcmFsLWd1dHRlcjtcbiAgICB9XG5cbiAgICAmX19hdGMtYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19hdGMtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19hdGMtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgQGlmICRidXlib3gtcmVsYXRlZC1wcm9kdWN0c19tYWtlLWF0Yy1idXR0b24tc21hbGxlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNGVtIDAuN2VtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtZm9ybSwgLmNzLWZvcm1fX2ZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmNzLWZvcm1fX2ZpZWxkICsgLmNzLWZvcm1fX2ZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5jcy1mb3JtLS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4uY3MtZm9ybV9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpob3ZlciwgLmNzLWZvcm1fX2J1dHRvbjpmb2N1cywgLmNzLWZvcm1fX2J1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOmJlZm9yZSwgLmNzLWZvcm1fX2J1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICMyZDNlNTAgMCUsICMyZDNlNTAgMTAwJSk7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjphZnRlciB7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbiwgLmNzLWZvcm1fX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1mb3JtX19idXR0b24gKiwgLmNzLWZvcm1fX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1mb3JtX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZm9ybV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZvcm1fX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAuY3MtZm9ybV9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZm9ybV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZm9ybV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG5cbi5jcy1mb3JtX19idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cblxuLmNzLWZvcm1fX2J1dHRvbi1pY29uIHtcbiAgbWF4LXdpZHRoOiAxZW07XG4gIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICByaWdodDogMWVtOyB9XG5cbi5mb3JtLFxuLmZvcm0gLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmZvcm0gLmZpZWxkICsgLmZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGZvcm1fYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi4jeyRuc31mb3JtIHtcbiAgICAmLFxuICAgICZfX2ZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9fZmllbGQge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cblxuLmZvcm0ge1xuICAgICYsXG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkIHtcbiAgICAgICAgKyAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWluZGljYXRvci1sb3ctc3RvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogLTAuN3JlbSAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgcGFkZGluZzogMC41ZW07XG4gIGNvbG9yOiAjMmQzZTUwOyB9XG4gIC5jcy1pbmRpY2F0b3ItbG93LXN0b2NrOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHJpZ2h0OiAxLjNyZW07XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDApO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmMGYwZjA7XG4gICAgYm9yZGVyLXdpZHRoOiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfVxuICAuY3MtaW5kaWNhdG9yLWxvdy1zdG9ja19fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1pbmRpY2F0b3ItbG93LXN0b2NrX19pY29uIHtcbiAgICB3aWR0aDogMmVtO1xuICAgIGhlaWdodDogMS44ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIGFuaW1hdGlvbjogcmluZ2luZyA2cyBpbmZpbml0ZTsgfVxuICAuY3MtaW5kaWNhdG9yLWxvdy1zdG9ja19fbGFiZWwgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5Aa2V5ZnJhbWVzIHJpbmdpbmcge1xuICAwJSxcbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTsgfVxuICAzJSxcbiAgNyUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoMjdkZWcpOyB9XG4gIDUlLFxuICA5JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHJvdGF0ZSgtMjdkZWcpOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5kaWNhdG9ycy9taXhpbnMnO1xuXG4kaW5kaWNhdG9yLWxvdy1zdG9ja19iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yLWxvdy1zdG9ja19ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGluZGljYXRvci1sb3ctc3RvY2tfY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRpbmRpY2F0b3ItbG93LXN0b2NrX3BhZGRpbmc6IDAuNWVtICFkZWZhdWx0O1xuXG4kaW5kaWNhdG9yLWxvdy1zdG9ja19kaXNwbGF5LXRvcC1hcnJvdzogdHJ1ZSAhZGVmYXVsdDtcbiRpbmRpY2F0b3ItbG93LXN0b2NrX3RvcC1hcnJvdy1mcm9tLXJpZ2h0OiAxLjNyZW0gIWRlZmF1bHQ7XG4kaW5kaWNhdG9yLWxvdy1zdG9ja190b3AtYXJyb3ctc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi13aWR0aDogMmVtICFkZWZhdWx0O1xuJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1oZWlnaHQ6ICRpbmRpY2F0b3JfaWNvbi1oZWlnaHQgIWRlZmF1bHQ7IC8vIHRha2VuIGZyb20gLi9taXhpbnMuc2Nzc1xuJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1maWxsOiBjdXJyZW50Q29sb3IgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yLWxvdy1zdG9ja19pY29uLWFwcGx5LXJpbmdpbmctYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0O1xuJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1yaW5naW5nLWFuaW1hdGlvbi1yZXBlYXQ6IDZzICFkZWZhdWx0O1xuXG4kaW5kaWNhdG9yLWxvdy1zdG9ja19sYWJlbC1tYWtlLWtleXdvcmRzLWJvbGQ6IHRydWUgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yLWxvdy1zdG9ja19sYWJlbC1rZXl3b3Jkcy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4uI3skbnN9aW5kaWNhdG9yLWxvdy1zdG9jayB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAtMC43cmVtIDAgMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkaW5kaWNhdG9yLWxvdy1zdG9ja19iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbmRpY2F0b3ItbG93LXN0b2NrX2JvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJGluZGljYXRvci1sb3ctc3RvY2tfcGFkZGluZztcbiAgICBjb2xvcjogJGluZGljYXRvci1sb3ctc3RvY2tfY29sb3I7XG5cbiAgICBAaWYgJGluZGljYXRvci1sb3ctc3RvY2tfZGlzcGxheS10b3AtYXJyb3cge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAkaW5kaWNhdG9yLWxvdy1zdG9ja190b3AtYXJyb3ctZnJvbS1yaWdodDtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJGluZGljYXRvci1sb3ctc3RvY2tfYmFja2dyb3VuZCwgMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW5kaWNhdG9yLWxvdy1zdG9ja19iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaW5kaWNhdG9yLWxvdy1zdG9ja190b3AtYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skaW5kaWNhdG9yLWxvdy1zdG9ja190b3AtYXJyb3ctc2l6ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6ICRpbmRpY2F0b3ItbG93LXN0b2NrX2ljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC43NWVtO1xuICAgICAgICBmaWxsOiAkaW5kaWNhdG9yLWxvdy1zdG9ja19pY29uLWZpbGw7XG5cbiAgICAgICAgQGlmICRpbmRpY2F0b3ItbG93LXN0b2NrX2ljb24tYXBwbHktcmluZ2luZy1hbmltYXRpb24ge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiByaW5naW5nXG4gICAgICAgICAgICAgICAgJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1yaW5naW5nLWFuaW1hdGlvbi1yZXBlYXRcbiAgICAgICAgICAgICAgICBpbmZpbml0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkaW5kaWNhdG9yLWxvdy1zdG9ja19sYWJlbC1tYWtlLWtleXdvcmRzLWJvbGQge1xuICAgICAgICAmX19sYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaW5kaWNhdG9yLWxvdy1zdG9ja19sYWJlbC1rZXl3b3Jkcy1mb250LXdlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyByaW5naW5nIHtcbiAgICAwJSxcbiAgICAxMiUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMyUsXG4gICAgNyUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKDI3ZGVnKTtcbiAgICB9XG4gICAgNSUsXG4gICAgOSUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0yN2RlZyk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWluZGljYXRvci1mYXN0LXNoaXBwaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICMzN2I4NDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWluZGljYXRvci1mYXN0LXNoaXBwaW5nOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgLmNzLWluZGljYXRvci1mYXN0LXNoaXBwaW5nX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWluZGljYXRvci1mYXN0LXNoaXBwaW5nX19lbGVtZW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWluZGljYXRvci1mYXN0LXNoaXBwaW5nX19lbGVtZW50LS12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBjb2xvcjogIzM3Yjg0MTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWluZGljYXRvci1mYXN0LXNoaXBwaW5nX19pY29uIHtcbiAgICB3aWR0aDogMi40ZW07XG4gICAgaGVpZ2h0OiAxLjhlbTtcbiAgICBtYXJnaW46IDAgMXJlbSAwIDA7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLmNzLWluZGljYXRvci1mYXN0LXNoaXBwaW5nX19pY29uICoge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5jcy1pbmRpY2F0b3ItZmFzdC1zaGlwcGluZ19faGVhZGxpbmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuY3MtaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjODg4OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2luZGljYXRvcnMvbWl4aW5zJztcblxuJGluZGljYXRvci1mYXN0LXNoaXBwaW5nX2d1dHRlcjogMXJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWluZGljYXRvci1mYXN0LXNoaXBwaW5nIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpZiAkaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfZ3V0dGVyICE9IDAge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGljYXRvci1mYXN0LXNoaXBwaW5nX2d1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGluZGljYXRvcigpO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fZWxlbWVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3ItaWNvbigpO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLWhlYWRsaW5lKCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGluZGljYXRvci10ZXh0KCk7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kaW5kaWNhdG9yX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kaW5kaWNhdG9yX2FsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yX2NvbG9yOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yX2ljb24td2lkdGg6IDIuNGVtICFkZWZhdWx0O1xuJGluZGljYXRvcl9pY29uLWhlaWdodDogMS44ZW0gIWRlZmF1bHQ7XG4kaW5kaWNhdG9yX2ljb24tbWFyZ2luOiAwIDFyZW0gMCAwICFkZWZhdWx0O1xuJGluZGljYXRvcl9pY29uLWZpbGw6IGN1cnJlbnRDb2xvciAhZGVmYXVsdDtcbiRpbmRpY2F0b3JfaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRpbmRpY2F0b3JfaGVhZGxpbmUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRpbmRpY2F0b3JfaGVhZGxpbmUtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yX3RleHQtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuQG1peGluIGluZGljYXRvciB7XG4gICAgZGlzcGxheTogJGluZGljYXRvcl9kaXNwbGF5O1xuICAgIGNvbG9yOiAkaW5kaWNhdG9yX2NvbG9yO1xuXG4gICAgQGlmICRpbmRpY2F0b3JfZGlzcGxheSA9PSBmbGV4IG9yICRpbmRpY2F0b3JfZGlzcGxheSA9PSBpbmxpbmUtZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkaW5kaWNhdG9yX2FsaWduLWl0ZW1zO1xuICAgIH1cbn1cblxuQG1peGluIGluZGljYXRvci1pY29uIHtcbiAgICB3aWR0aDogJGluZGljYXRvcl9pY29uLXdpZHRoO1xuICAgIGhlaWdodDogJGluZGljYXRvcl9pY29uLWhlaWdodDtcbiAgICBtYXJnaW46ICRpbmRpY2F0b3JfaWNvbi1tYXJnaW47XG4gICAgZmlsbDogJGluZGljYXRvcl9pY29uLWZpbGw7XG5cbiAgICAqIHtcbiAgICAgICAgZmlsbDogJGluZGljYXRvcl9pY29uLWZpbGw7XG4gICAgfVxufVxuXG5AbWl4aW4gaW5kaWNhdG9yLWhlYWRsaW5lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGluZGljYXRvcl9oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogJGluZGljYXRvcl9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGluZGljYXRvcl9oZWFkbGluZS1jb2xvcjtcbn1cblxuQG1peGluIGluZGljYXRvci10ZXh0IHtcbiAgICBkaXNwbGF5OiAkaW5kaWNhdG9yX3RleHQtZGlzcGxheTtcbiAgICBjb2xvcjogJGluZGljYXRvcl90ZXh0LWNvbG9yO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWluZGljYXRvci1mcmVlLXNoaXBwaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICMzN2I4NDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWluZGljYXRvci1mcmVlLXNoaXBwaW5nOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgLmNzLWluZGljYXRvci1mcmVlLXNoaXBwaW5nX19pY29uIHtcbiAgICB3aWR0aDogMi40ZW07XG4gICAgaGVpZ2h0OiAxLjhlbTtcbiAgICBtYXJnaW46IDAgMXJlbSAwIDA7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLmNzLWluZGljYXRvci1mcmVlLXNoaXBwaW5nX19pY29uICoge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5jcy1pbmRpY2F0b3ItZnJlZS1zaGlwcGluZ19faGVhZGxpbmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pbmRpY2F0b3JzL21peGlucyc7XG5cbiRpbmRpY2F0b3ItZnJlZS1zaGlwcGluZ19ndXR0ZXI6IDFyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31pbmRpY2F0b3ItZnJlZS1zaGlwcGluZyB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaWYgJGluZGljYXRvci1mcmVlLXNoaXBwaW5nX2d1dHRlciAhPSAwIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRpY2F0b3ItZnJlZS1zaGlwcGluZ19ndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBpbmRpY2F0b3IoKTtcblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3ItaWNvbigpO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLWhlYWRsaW5lKCk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWluZGljYXRvci1yZWNlbnRseS1ib3VnaHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuLmNzLWluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogIzM3Yjg0MTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uY3MtaW5kaWNhdG9yLXJlY2VudGx5LWJvdWdodF9faWNvbiB7XG4gIHdpZHRoOiAyLjRlbTtcbiAgaGVpZ2h0OiAxLjhlbTtcbiAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLmNzLWluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfX2ljb24gKiB7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5jcy1pbmRpY2F0b3ItcmVjZW50bHktYm91Z2h0X19oZWFkbGluZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5jcy1pbmRpY2F0b3ItcmVjZW50bHktYm91Z2h0X190ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjODg4OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2luZGljYXRvcnMvbWl4aW5zJztcblxuJGluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfZ3V0dGVyOiAxcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9aW5kaWNhdG9yLXJlY2VudGx5LWJvdWdodCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaWYgJGluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfZ3V0dGVyICE9IDAge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGluZGljYXRvcigpO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3ItaWNvbigpO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLWhlYWRsaW5lKCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGluZGljYXRvci10ZXh0KCk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWluZGljYXRvci1leHAtZGVsaXZlcnkge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICMzN2I4NDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWluZGljYXRvci1leHAtZGVsaXZlcnk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAuY3MtaW5kaWNhdG9yLWV4cC1kZWxpdmVyeV9fZWxlbWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1pbmRpY2F0b3ItZXhwLWRlbGl2ZXJ5X19lbGVtZW50LWljb24ge1xuICAgIHdpZHRoOiAyLjRlbTtcbiAgICBoZWlnaHQ6IDEuOGVtO1xuICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5jcy1pbmRpY2F0b3ItZXhwLWRlbGl2ZXJ5X19lbGVtZW50LWljb24gKiB7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLmNzLWluZGljYXRvci1leHAtZGVsaXZlcnlfX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtaW5kaWNhdG9yLWV4cC1kZWxpdmVyeV9fdGV4dC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuY3MtaW5kaWNhdG9yLWV4cC1kZWxpdmVyeV9fdGV4dC0tZGF0ZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jcy1pbmRpY2F0b3ItZXhwLWRlbGl2ZXJ5X19wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgIC5jcy1pbmRpY2F0b3ItZXhwLWRlbGl2ZXJ5X19wbGFjZWhvbGRlci0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5kaWNhdG9ycy9taXhpbnMnO1xuXG4kaW5kaWNhdG9yLWV4cGVjdGVkLWRlbGl2ZXJ5X2d1dHRlcjogMXJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWluZGljYXRvci1leHAtZGVsaXZlcnkge1xuICAgICRyb290OiAmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBpbmRpY2F0b3IoKTtcblxuICAgIEBpZiAkaW5kaWNhdG9yLWV4cGVjdGVkLWRlbGl2ZXJ5X2d1dHRlciAhPSAwIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRpY2F0b3ItZXhwZWN0ZWQtZGVsaXZlcnlfZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZWxlbWVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fZWxlbWVudC1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLWljb24oKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLXRleHQoKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhdGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLXRleHQoKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIGdyYWRpZW50LXNoYWRvdyBtaXhpbiBwcm92aWRlcyBncmFkaWVudCBzaGFkb3cgb24gZ2l2ZW4gcG9zaXRpb25cbiAqIEBwYXJhbSAkeCAtIHgtYXhpcyBwb3NpdGlvblxuICogQHBhcmFtICR5IC0geS1heGlzIHBvc2l0aW9uXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4uY3MtcHJvZHVjdC1nYWxsZXJ5X19sb2FkaW5nLW1hc2sge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLmNzLXByb2R1Y3QtZ2FsbGVyeV9fcGxhY2Vob2xkZXItaW1hZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNzLXByb2R1Y3QtZ2FsbGVyeV9fcGxhY2Vob2xkZXItaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogNDAwcHg7IH1cblxuLmNzLXByb2R1Y3QtZ2FsbGVyeV9fbG9hZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1wcm9kdWN0LWdhbGxlcnlfX2xvYWRlciB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfSB9XG4gIC5jcy1wcm9kdWN0LWdhbGxlcnlfX2xvYWRlciBzb3VyY2UsXG4gIC5jcy1wcm9kdWN0LWdhbGxlcnlfX2xvYWRlciBpbWcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmZvdG9yYW1hIHtcbiAgLyoqXG4gICAgICogU3RhZ2UgbmF2aWdhdGlvbiAoYXJyb3dzKVxuICAgICAqL1xuICAvKipcbiAgICAgKiBUaHVtYm5haWxzXG4gICAgICovXG4gIC8qKlxuICAgICAqIFRodW1ibmFpbHMgc2xpZGVyXG4gICAgICovXG4gIC8qXG4gICAgICogQnVsbGV0IHBhZ2luYXRpb24gKGRvdHMpXG4gICAgICovXG4gIC8qKlxuICAgICAqIE91ciBjdXN0b20gc3Bpbm5lclxuICAgICAqLyB9XG4gIC5mb3RvcmFtYSAuZm90b3JhbWFfX3N0YWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjRyZW07IH1cbiAgICAuZm90b3JhbWEgLmZvdG9yYW1hX19zdGFnZS5mb3RvcmFtYV9fc2hhZG93cy0tbGVmdDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNCkgMjUlLCByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNSkgNzUlLCB0cmFuc3BhcmVudCksIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDAgNTAlLCByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNyksIHRyYW5zcGFyZW50KTsgfVxuICAgIC5mb3RvcmFtYSAuZm90b3JhbWFfX3N0YWdlLmZvdG9yYW1hX19zaGFkb3dzLS1yaWdodDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMC40KSAyNSUsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMC41KSA3NSUsIHRyYW5zcGFyZW50KSwgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMTAwJSA1MCUsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMC43KSwgdHJhbnNwYXJlbnQpOyB9XG4gIC5mb3RvcmFtYSAuZm90b3JhbWFfX2FyciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDQuMnJlbTtcbiAgICBoZWlnaHQ6IDUuNHJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTIuN3JlbTsgfVxuICAgIC5mb3RvcmFtYSAuZm90b3JhbWFfX2FycjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIC5mb3RvcmFtYSAuZm90b3JhbWFfX2FyciAuZm90b3JhbWFfX2Fycl9fYXJyIHtcbiAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICBoZWlnaHQ6IDIuN3JlbTsgfVxuICAgIC5mb3RvcmFtYSAuZm90b3JhbWFfX2Fyci0tcHJldiAuZm90b3JhbWFfX2Fycl9fYXJyLCAuZm90b3JhbWEgLmZvdG9yYW1hX19hcnItLW5leHQgLmZvdG9yYW1hX19hcnJfX2FyciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAuZm90b3JhbWEgLmZvdG9yYW1hX19hcnItLXByZXYgLmZvdG9yYW1hX19hcnJfX2FyciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm90b3JhbWEvZm90b3JhbWEtYXJyb3ctcHJldi5zdmdcIik7IH1cbiAgICAuZm90b3JhbWEgLmZvdG9yYW1hX19hcnItLW5leHQgLmZvdG9yYW1hX19hcnJfX2FyciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm90b3JhbWEvZm90b3JhbWEtYXJyb3ctbmV4dC5zdmdcIik7IH1cbiAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fbmF2LXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZm90b3JhbWEgLmZvdG9yYW1hX19uYXYtLXRodW1icyAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fbmF2LS10aHVtYnMgLmZvdG9yYW1hX19uYXZfX2ZyYW1lOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5mb3RvcmFtYSAuZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwLjRyZW07IH1cbiAgICAuZm90b3JhbWEgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS10aHVtYjpub3QoLmZvdG9yYW1hX19hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzg4ODsgfVxuICAgIC5mb3RvcmFtYSAuZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iLmZvdG9yYW1hX19hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmQzZTUwOyB9XG4gIC5mb3RvcmFtYSAuZm90b3JhbWFfX3RodW1iIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm90b3JhbWEvZm90b3JhbWEtc3Bpbm5lci5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWIuZm90b3JhbWFfX2xvYWRlZC0taW1nIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWItYm9yZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3RvcmFtYSAuZm90b3JhbWFfX3RodW1iX19hcnIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWJfX2FyciwgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWJfX2Fycjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDFyZW0gMXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWJfX2FycjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIGNvbG9yOiAjZjBmMGYwOyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci5mb3RvcmFtYV9fYXJyLS1kaXNhYmxlZCwgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tZGlzYWJsZWQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWJfX2FyciAuZm90b3JhbWFfX3RodW1iLS1pY29uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMS40cmVtICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDIuN3JlbTsgfVxuICAgIC5mb3RvcmFtYSAuZm90b3JhbWFfX3RodW1iX19hcnItLWxlZnQgLmZvdG9yYW1hX190aHVtYi0taWNvbiwgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tcmlnaHQgLmZvdG9yYW1hX190aHVtYi0taWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAuZm90b3JhbWEgLmZvdG9yYW1hX190aHVtYl9fYXJyLS1sZWZ0IC5mb3RvcmFtYV9fdGh1bWItLWljb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2ZvdG9yYW1hL2ZvdG9yYW1hLWFycm93LXByZXYuc3ZnXCIpOyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tcmlnaHQgLmZvdG9yYW1hX190aHVtYi0taWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZm90b3JhbWEvZm90b3JhbWEtYXJyb3ctbmV4dC5zdmdcIik7IH1cbiAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fbmF2X19zaGFmdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC41cmVtIDAgMDtcbiAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgei1pbmRleDogMjAwOyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fbmF2X19zaGFmdC0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tZG90IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgd2lkdGg6IDIuMnJlbTtcbiAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOyB9XG4gICAgLmZvdG9yYW1hIC5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkY2RjZGM7IH1cbiAgICAuZm90b3JhbWEgLmZvdG9yYW1hX19uYXYtLWRvdHMgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS1kb3QuZm90b3JhbWFfX2FjdGl2ZSwgLmZvdG9yYW1hIC5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tZG90LmZvdG9yYW1hX19hY3RpdmU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDsgfVxuICAuZm90b3JhbWEgLmZvdG9yYW1hX19kb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZm90b3JhbWEgLmZvdG9yYW1hLWdyYWItY3Vyc29yLFxuICAuZm90b3JhbWEgLmZvdG9yYW1hX193cmFwIC5mb3RvcmFtYV9fZ3JhYiB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mb3RvcmFtYSAuZm90b3JhbWFfX3NwaW5uZXIge1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9mb3RvcmFtYS9mb3RvcmFtYS1zcGlubmVyLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAuZm90b3JhbWE6bm90KC5mb3RvcmFtYS0tZnVsbHNjcmVlbikgLmZvdG9yYW1hX19uYXYge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mb3RvcmFtYTpub3QoLmZvdG9yYW1hLS1mdWxsc2NyZWVuKSAuZm90b3JhbWFfX25hdi13cmFwIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjRyZW07IH1cbiAgICAuZm90b3JhbWE6bm90KC5mb3RvcmFtYS0tZnVsbHNjcmVlbikgLmZvdG9yYW1hX19uYXYtd3JhcC0taG9yaXpvbnRhbCAuZm90b3JhbWFfX25hdiB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mb3RvcmFtYTpub3QoLmZvdG9yYW1hLS1mdWxsc2NyZWVuKSAuZm90b3JhbWFfX25hdi13cmFwLS1ob3Jpem9udGFsIC5mb3RvcmFtYV9fdGh1bWJfX2FyciB7XG4gICAgICB3aWR0aDogM3JlbTsgfVxuICAuZm90b3JhbWE6bm90KC5mb3RvcmFtYS0tZnVsbHNjcmVlbikgLmZvdG9yYW1hX19uYXZfX3NoYWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZm90b3JhbWE6bm90KC5mb3RvcmFtYS0tZnVsbHNjcmVlbikgLmZvdG9yYW1hX19uYXZfX3NoYWZ0LmZvdG9yYW1hX19ncmFiIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKlxuKiBTdHlsZXMgb25seSBmb3IgZnVsbHNjcmVlZW5cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLmZvdG9yYW1hLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fc3RhZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMC44cmVtOyB9XG5cbi5mb3RvcmFtYS5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iIHtcbiAgbWFyZ2luOiAwIDAuNHJlbTsgfVxuXG4uZm90b3JhbWEuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19uYXYge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMC44cmVtIC8gMiArIDJweCk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC44cmVtIC8gMiArIDJweCk7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyoqXG4gKiBncmFkaWVudC1zaGFkb3cgbWl4aW4gcHJvdmlkZXMgZ3JhZGllbnQgc2hhZG93IG9uIGdpdmVuIHBvc2l0aW9uXG4gKiBAcGFyYW0gJHggLSB4LWF4aXMgcG9zaXRpb25cbiAqIEBwYXJhbSAkeSAtIHktYXhpcyBwb3NpdGlvblxuICovXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuJGdyYWRpZW50LXNoYWRvdy1iYXNlLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC01MDA7XG5cbkBtaXhpbiBncmFkaWVudC1zaGFkb3coJHgsICR5KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICByZ2JhKCRncmFkaWVudC1zaGFkb3ctYmFzZS1jb2xvciwgMC40KSAyNSUsXG4gICAgICAgICAgICByZ2JhKCRncmFkaWVudC1zaGFkb3ctYmFzZS1jb2xvciwgMC41KSA3NSUsXG4gICAgICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgICApLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgICBmYXJ0aGVzdC1zaWRlIGF0ICR4ICR5LFxuICAgICAgICAgICAgcmdiYSgkZ3JhZGllbnQtc2hhZG93LWJhc2UtY29sb3IsIDAuNyksXG4gICAgICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgICApO1xufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWxpc3QtaG9vaygpIHtcbn1cblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0taG9vaygpIHtcbn1cblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZS1ob29rKCkge1xufVxuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24tYnV0dG9uLWhvb2soKSB7XG59XG5cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZHVjdC1nYWxsZXJ5L21peGlucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuXG4kcHJvZHVjdC1nYWxsZXJ5X2Jhc2UtaW1hZ2UtZGF0YTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIG1lZGlhLFxuICAgIGltYWdlcyxcbiAgICBpbWFnZSxcbiAgICBwcm9kdWN0X3BhZ2VfaW1hZ2VfbWVkaXVtX25vX2ZyYW1lXG4pICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9kYXRhOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NhdGFsb2csXG4gICAgZ2FsbGVyeVxuKSAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfc2NlbmUtbWF4LWhlaWdodDogI3ttYXAtZ2V0KCRwcm9kdWN0LWdhbGxlcnlfZGF0YSwgbWF4aGVpZ2h0KX0gIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X2ltYWdlLW1heC1oZWlnaHQ6ICN7bWFwLWdldChcbiAgICAgICAgJHByb2R1Y3QtZ2FsbGVyeV9iYXNlLWltYWdlLWRhdGEsXG4gICAgICAgIG1heGhlaWdodFxuICAgICl9ICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvd3Mtc2hvdzogdHJ1ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdyYXBwZXItYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy13cmFwcGVyLS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LWhlaWdodDogMi43cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd3JhcHBlci13aWR0aDogMyAqICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdpZHRoICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd3JhcHBlci1oZWlnaHQ6IDIgKiAkcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy1oZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy0tcHJldi11cmw6ICcuLi9pbWFnZXMvaWNvbnMvZm90b3JhbWEvZm90b3JhbWEtYXJyb3ctcHJldi5zdmcnICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctLW5leHQtdXJsOiAnLi4vaW1hZ2VzL2ljb25zL2ZvdG9yYW1hL2ZvdG9yYW1hLWFycm93LW5leHQuc3ZnJyAhZGVmYXVsdDtcblxuLy8gVGh1bWJuYWlsc1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYnMtZ3V0dGVyOiAwLjhyZW0gIWRlZmF1bHQ7IC8vIHVzZSByZW0vcHggYXMgZm9udC1zaXplIGlzIHNldCB0byAwIGJ5IGZvdG9yYW1hLiBEb24ndCBleGNlZWQgMjAwJSBvZiAkcGFnZS1ndXR0ZXIgdmFsdWUgb3IgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2lsbCBhcHBlYXIuXG4kcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWJvcmRlcjogMHB4O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X3RodW1iLS1ob3Zlci1ib3JkZXItY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi0tYWN0aXZlLWJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4vLyBUaHVtYm5haWxzIGFycm93IChzbGlkZXIpXG4kcHJvZHVjdC1nYWxsZXJ5X3Nob3ctdGh1bWItYXJyb3dzOiBmYWxzZSAhZGVmYXVsdDsgLy8gRG9lcyBub3QgYXBwbHkgZm9yIGZ1bGxzY3JlZW4gbW9kZVxuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13cmFwcGVyLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13cmFwcGVyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfdGh1bWItYXJyb3ctd3JhcHBlci0tYWN0aXZlLWJhY2tncm91bmQ6ICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdyYXBwZXItLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13cmFwcGVyLWJveC1zaGFkb3ctc2l6ZTogMCAwIDFyZW0gMXJlbSAhZGVmYXVsdDsgLy8gY29sb3IgaXMgaW5oZXJpdGVkIGZyb20gYmFja2dyb3VuZFxuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13aWR0aDogJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd2lkdGggIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWFycm93LWhlaWdodDogJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctaGVpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy0tcHJldi11cmw6ICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LS1wcmV2LXVybCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfdGh1bWItYXJyb3ctLW5leHQtdXJsOiAkcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy0tbmV4dC11cmwgIWRlZmF1bHQ7XG5cbi8vIFNwaW5uZXJcbiRwcm9kdWN0LWdhbGxlcnlfc3Bpbm5lci1pbWFnZS11cmw6ICcuLi9pbWFnZXMvaWNvbnMvZm90b3JhbWEvZm90b3JhbWEtc3Bpbm5lci5zdmcnICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9zcGlubmVyLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfc3Bpbm5lci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuXG4uI3skbnN9cHJvZHVjdC1nYWxsZXJ5IHtcbiAgICAmX19sb2FkaW5nLW1hc2sge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBkZWVwIGNhc2NhZGVcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cbiAgICAmX19wbGFjZWhvbGRlci1pbWFnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19wbGFjZWhvbGRlci1pbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAkcHJvZHVjdC1nYWxsZXJ5X3NjZW5lLW1heC1oZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9fbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LWdhbGxlcnlfc2NlbmUtbWF4LWhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBpbmxpbmUgc3R5bGVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENlbnRlciBwbGFjZWhvbGRlciBpbWFnZVxuICAgICAgICBzb3VyY2UsXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogJHByb2R1Y3QtZ2FsbGVyeV9pbWFnZS1tYXgtaGVpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBFeGl0aW5nIGZyb20gY29tcG9uZW50IHRvIGFwcGx5IHN0eWxpbmcgYWxzbyBmb3IgZnVsbHNjcmVlbiBtb2RlXG4uZm90b3JhbWEge1xuICAgIC5mb3RvcmFtYV9fc3RhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1icy1ndXR0ZXIgLyAyO1xuXG4gICAgICAgIC8vIEZvdG9yYW1hIHByb3ZpZGVzIHNoYWRvdyBib3VuZHMgaW5kaWNhdG9ycyB3aGlsZSBzd2lwaW5nIGdhbGxlcnkgbGVmdC9yaWdodC4gV2UgY3VzdG9taXplIGNvbG9ycyBhIGJpdFxuICAgICAgICAmLmZvdG9yYW1hX19zaGFkb3dzLS1sZWZ0OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1zaGFkb3coMCwgNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZm90b3JhbWFfX3NoYWRvd3MtLXJpZ2h0OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LXNoYWRvdygxMDAlLCA1MCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RhZ2UgbmF2aWdhdGlvbiAoYXJyb3dzKVxuICAgICAqL1xuICAgIC8vIEFycm93IHdyYXBwZXJcbiAgICAuZm90b3JhbWFfX2FyciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdyYXBwZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgd2lkdGg6ICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdyYXBwZXItd2lkdGg7XG4gICAgICAgIGhlaWdodDogJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd3JhcHBlci1oZWlnaHQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0jeyRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdyYXBwZXItaGVpZ2h0IC8gMn07XG5cbiAgICAgICAgQGlmICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93cy1zaG93ID09IGZhbHNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdyYXBwZXItLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXJyb3cuIE5lc3RlZCB0byBoYW5kbGUgZm90b3JhbWFzJyBjYXNjYWRlXG4gICAgICAgIC5mb3RvcmFtYV9fYXJyX19hcnIge1xuICAgICAgICAgICAgd2lkdGg6ICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcmV2LFxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgIC5mb3RvcmFtYV9fYXJyX19hcnIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgIC5mb3RvcmFtYV9fYXJyX19hcnIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy0tcHJldi11cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICAuZm90b3JhbWFfX2Fycl9fYXJyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctLW5leHQtdXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRodW1ibmFpbHNcbiAgICAgKi9cbiAgICAuZm90b3JhbWFfX25hdi13cmFwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAvLyBhbGlnbiBldmVyeXRoaW5nIHRvIGNlbnRlclxuICAgIH1cblxuICAgIC8vIFNpbmdsZSB0aHVtYm5haWwgd3JhcHBlclxuICAgIC5mb3RvcmFtYV9fbmF2LS10aHVtYnMgLmZvdG9yYW1hX19uYXZfX2ZyYW1lIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1iLXBhZGRpbmcgIWltcG9ydGFudDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iIHtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1wYWRkaW5nICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBkZWVwIGNhc2NhZGVcbiAgICAgICAgYm9yZGVyOiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIEBpZiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1icy1ndXR0ZXIgIT0gMCB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LWdhbGxlcnlfdGh1bWJzLWd1dHRlciAvIDI7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZm90b3JhbWFfX2FjdGl2ZSk6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1iLS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRwcm9kdWN0LWdhbGxlcnlfdGh1bWItcGFkZGluZyAhPSAwKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUgdGh1bWJuYWlsXG4gICAgICAgICYuZm90b3JhbWFfX2FjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9kdWN0LWdhbGxlcnlfdGh1bWItLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3RodW1iIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWJhY2tncm91bmQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkcHJvZHVjdC1nYWxsZXJ5X3NwaW5uZXItaW1hZ2UtdXJsKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cbiAgICAgICAgJi5mb3RvcmFtYV9fbG9hZGVkLS1pbWcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgYWN0aXZlIHRodW1ibmFpbCBmbG9hdGluZyBib3JkZXJcbiAgICAuZm90b3JhbWFfX3RodW1iLWJvcmRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGh1bWJuYWlscyBzbGlkZXJcbiAgICAgKi9cblxuICAgIC8vIEFycm93J3Mgd3JhcHBlclxuICAgIC5mb3RvcmFtYV9fdGh1bWJfX2FyciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13cmFwcGVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWFycm93LXdyYXBwZXItYm94LXNoYWRvdy1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWdhbGxlcnlfdGh1bWItYXJyb3ctd3JhcHBlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13cmFwcGVyLS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWFycm93LXdyYXBwZXItLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mb3RvcmFtYV9fYXJyLS1kaXNhYmxlZCxcbiAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBoaWRlIGFycm93cyB3aGVuIG5vdCBuZWVkZWQsIG92ZXJyaWRlcyBpbmxpbmUgc3R5bGVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFycm93XG4gICAgICAgIC5mb3RvcmFtYV9fdGh1bWItLWljb24ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWFycm93LXdpZHRoICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBkZWVwIGNhc2NhZGVcbiAgICAgICAgICAgIGhlaWdodDogJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sZWZ0LFxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAuZm90b3JhbWFfX3RodW1iLS1pY29uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAuZm90b3JhbWFfX3RodW1iLS1pY29uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy0tcHJldi11cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgLmZvdG9yYW1hX190aHVtYi0taWNvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRwcm9kdWN0LWdhbGxlcnlfdGh1bWItYXJyb3ctLW5leHQtdXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qXG4gICAgICogQnVsbGV0IHBhZ2luYXRpb24gKGRvdHMpXG4gICAgICovXG4gICAgLy8gQnVsbGV0cyB3cmFwcGVyXG4gICAgLmZvdG9yYW1hX19uYXYtLWRvdHMgLmZvdG9yYW1hX19uYXZfX3NoYWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24tbGlzdCgpO1xuICAgIH1cblxuICAgIC8vIFNpbmdsZSBkb3Qgd3JhcHBlclxuICAgIC5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tZG90IHtcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24taXRlbSgpO1xuXG4gICAgICAgICYuZm90b3JhbWFfX2FjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fZG90IHtcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24tYnV0dG9uKCk7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hLWdyYWItY3Vyc29yLFxuICAgIC5mb3RvcmFtYV9fd3JhcCAuZm90b3JhbWFfX2dyYWIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBncmFiIGFuZCBtb3ZlIGdhbGxlcnkgYmVjYXVzZSBpbiBldmVyeSBjYXNlIGZ1bGxzY3JlZW4gaXMgb3BlbmVkXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3VyIGN1c3RvbSBzcGlubmVyXG4gICAgICovXG4gICAgLmZvdG9yYW1hX19zcGlubmVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBkZWVwIGNhc2NhZGVcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRwcm9kdWN0LWdhbGxlcnlfc3Bpbm5lci1pbWFnZS11cmwpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1nYWxsZXJ5X3NwaW5uZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2R1Y3QtZ2FsbGVyeV9zcGlubmVyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gVGh1bWJuYWlscy9Eb3RzIHdyYXBwZXJcbiAgICAmOm5vdCguZm90b3JhbWEtLWZ1bGxzY3JlZW4pIHtcbiAgICAgICAgLy8gVGh1bWJuYWlscy9Eb3RzIGxpc3RcbiAgICAgICAgLmZvdG9yYW1hX19uYXYge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy8gb3ZlcnJpZGVzIGlubGluZSBzdHlsZVxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBtYWtlcyBzdXJlIGl0J3Mgbm90IDEwMCUgd2lkdGhcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAge1xuICAgICAgICAgICAgQGlmICRwcm9kdWN0LWdhbGxlcnlfdGh1bWJzLWd1dHRlciAhPSAwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7JHByb2R1Y3QtZ2FsbGVyeV90aHVtYnMtZ3V0dGVyIC8gMn07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtI3skcHJvZHVjdC1nYWxsZXJ5X3RodW1icy1ndXR0ZXIgLyAyfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgLy8gVGh1bWJuYWlscy9Eb3RzIGxpc3RcbiAgICAgICAgICAgICAgICAuZm90b3JhbWFfX25hdiB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyAvLyBvdmVycmlkZXMgaW5saW5lIHN0eWxlXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQXJyb3cncyB3cmFwcGVyXG4gICAgICAgICAgICAgICAgLmZvdG9yYW1hX190aHVtYl9fYXJyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRwcm9kdWN0LWdhbGxlcnlfdGh1bWItYXJyb3ctd3JhcHBlci13aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm90b3JhbWFfX25hdl9fc2hhZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmLmZvdG9yYW1hX19ncmFiIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qXG4qIFN0eWxlcyBvbmx5IGZvciBmdWxsc2NyZWVlblxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4uZm90b3JhbWEuZm90b3JhbWEtLWZ1bGxzY3JlZW4ge1xuICAgIC5mb3RvcmFtYV9fc3RhZ2Uge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHByb2R1Y3QtZ2FsbGVyeV90aHVtYnMtZ3V0dGVyO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tdGh1bWIge1xuICAgICAgICBAaWYgJHByb2R1Y3QtZ2FsbGVyeV90aHVtYnMtZ3V0dGVyICE9IDAge1xuICAgICAgICAgICAgbWFyZ2luOiAwICRwcm9kdWN0LWdhbGxlcnlfdGh1bWJzLWd1dHRlciAvIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX25hdiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRwcm9kdWN0LWdhbGxlcnlfdGh1bWJzLWd1dHRlcn0gLyAyICsgMnB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygjeyRwcm9kdWN0LWdhbGxlcnlfdGh1bWJzLWd1dHRlcn0gLyAyICsgMnB4KTtcbiAgICB9XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiIsIkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL2hvb2tzL3BhZ2luYXRpb24uc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuLy8gTmF2IGJ1dHRvbnNcbiR0ZWFzZXJfaGlkZS1uYXYtYnV0dG9ucy1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tcG9zaXRpb246IGFic29sdXRlICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLXBvc2l0aW9uLXRvcDogNTAlICFkZWZhdWx0OyAvLyAycmVtIHJlY29tcGVuc2VzIGhlaWdodCBvZiB0aGUgYnVsbGV0LXBhZ2luYXRpb25cbiR0ZWFzZXJfbmF2LWJ1dHRvbi16LWluZGV4OiAyMDEgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi10cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLXdpZHRoOiA1LjVyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24taGVpZ2h0OiAkdGVhc2VyX25hdi1idXR0b24td2lkdGggIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tYm9yZGVyOiAwICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3gtc2hhZG93OiAxcHggMXB4IDJweCAwIHJnYmEoJGNvbG9yX2JsYWNrLCAwLjI1KSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAyICogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWRpc2FibGVkLWRpc3BsYXk6IG5vbmUgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tZGlzYWJsZWQtb3BhY2l0eTogMSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLXBvc2l0aW9uOiAxLjVyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24taG9yaXpvbnRhbC1vZmZzZXQtYnJlYWtwb2ludDogJz49bGFwdG9wTGcnICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWRlc2t0b3A6IC0jeyR0ZWFzZXJfbmF2LWJ1dHRvbi13aWR0aCAvIDJ9ICFkZWZhdWx0O1xuLy8gSG92ZXJcbiR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYm94LXNoYWRvdzogMXB4IDFweCAxMHB4IDAgcmdiYSgkY29sb3JfYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLS1ob3Zlci1ib3JkZXI6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWJhY2tncm91bmQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLS1ob3Zlci1hZGRpdGlvbmFsLXRyYW5zZm9ybTogJycgIWRlZmF1bHQ7XG5cbi8vIE5hdiBidXR0b25zIGljb25zXG4kdGVhc2VyX25hdi1idXR0b24taWNvbi13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWljb24taGVpZ2h0OiAyLjdyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24taWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuLy8gSG92ZXJcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLS1ob3Zlci1jb2xvcjogJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEZyYWN0aW9uIHBhZ2luYXRpb24gKG51bWJlciBwYWdpbmF0aW9uKVxuJHRlYXNlcl9wYWdpbmF0aW9uLW51bWJlcnMtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnQtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvbiBsaXN0XG4kdGVhc2VyX3BhZ2luYXRpb24tbWFyZ2luOiAwICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLXBhZGRpbmc6IDAuNXJlbSAwIDAgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24tbWluLWhlaWdodDogM3JlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLXRleHQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDsgLy8gdXNlZCBmb3IgXCJmcmFjdGlvblwiIHBhZ2luYXRpb24gKG51bWJlcnMpXG4kdGVhc2VyX3BhZ2luYXRpb24tei1pbmRleDogMjAwICFkZWZhdWx0O1xuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24tbGlzdCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIG1hcmdpbjogJHRlYXNlcl9wYWdpbmF0aW9uLW1hcmdpbjtcbiAgICBwYWRkaW5nOiAkdGVhc2VyX3BhZ2luYXRpb24tcGFkZGluZztcbiAgICBtaW4taGVpZ2h0OiAkdGVhc2VyX3BhZ2luYXRpb24tbWluLWhlaWdodDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR0ZWFzZXJfcGFnaW5hdGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgYWxpZ24taXRlbXM6ICR0ZWFzZXJfcGFnaW5hdGlvbi1hbGlnbi1pdGVtcztcbiAgICBjb2xvcjogJHRlYXNlcl9wYWdpbmF0aW9uLXRleHQtY29sb3I7XG4gICAgei1pbmRleDogJHRlYXNlcl9wYWdpbmF0aW9uLXotaW5kZXg7XG5cbiAgICAmLS1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWxpc3QtaG9vaygpO1xufVxuXG4vLyBQYWdpbmF0aW9uIGl0ZW1cbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLW1hcmdpbjogMC40cmVtICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZDogJGNvbG9yX2dhbGxlcnkgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS13aWR0aDogMi4ycmVtICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0taGVpZ2h0OiAwLjlyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS10cmFuc2l0aW9uOiBhbGwgMC4xNXMgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX2FsdG8gIWRlZmF1bHQ7XG5cbkBtaXhpbiBidWxsZXQtcGFnaW5hdGlvbi1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS1tYXJnaW47XG4gICAgYm9yZGVyLXJhZGl1czogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kO1xuICAgIHdpZHRoOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS13aWR0aDtcbiAgICBoZWlnaHQ6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWhlaWdodDtcbiAgICBib3JkZXI6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS10cmFuc2l0aW9uO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0taG9vaygpO1xufVxuXG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcl9nb2xkO1xuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZSB7XG4gICAgJixcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZS1ob29rKCk7XG59XG5cbkBtaXhpbiBidWxsZXQtcGFnaW5hdGlvbi1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWJ1dHRvbi1ob29rKCk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtLS1tYWluIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW0tLXJldmlld3Mge1xuICAgIHNjcm9sbC1tYXJnaW4tdG9wOiA1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW0tLXJldmlld3Mge1xuICAgICAgICBzY3JvbGwtbWFyZ2luLXRvcDogMTFyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtLS1yZXZpZXdzIHtcbiAgICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6IDExcmVtOyB9IH1cbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtLS1yZXZpZXdzIC5jcy1wcm9kdWN0LWRldGFpbHNfX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW0tLXJldmlld3MgLmNzLXByb2R1Y3QtZGV0YWlsc19fY29udGVudCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbS0tcmVsYXRlZCwgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbS0tdXBzZWxsLCAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtLS1jb250ZW50LWNvbnN0cnVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtLS1jb250ZW50LWNvbnN0cnVjdG9yIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW0tLWF3X3BxX2FqYXhfY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW0tLWF3X3BxX2FqYXhfY29udGFpbmVyIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLFxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW0tLWF3X3BxX2FqYXhfY29udGFpbmVyIC5hdy1wcS1xdWVzdGlvbi1zb3J0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtLS1hd19wcV9hamF4X2NvbnRhaW5lciAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZVt0YWJpbmRleF06YmVmb3JlLCAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtLS1hd19wcV9hamF4X2NvbnRhaW5lciAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZVt0YWJpbmRleF06YWZ0ZXIsXG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtLS1hd19wcV9hamF4X2NvbnRhaW5lciAuYXctcHEtcXVlc3Rpb24tc29ydFt0YWJpbmRleF06YmVmb3JlLFxuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbS0tYXdfcHFfYWpheF9jb250YWluZXIgLmF3LXBxLXF1ZXN0aW9uLXNvcnRbdGFiaW5kZXhdOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDNyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbS0tYXdfcHFfYWpheF9jb250YWluZXIgLmNzLXByb2R1Y3QtZGV0YWlsc19fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG5cbi5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMmVtIDA7XG4gIG1hcmdpbjogMmVtIDA7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZVt0YWJpbmRleF0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lW3RhYmluZGV4XTpiZWZvcmUsIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lW3RhYmluZGV4XTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZVt0YWJpbmRleF06YmVmb3JlLCAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZVt0YWJpbmRleF06YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgIWltcG9ydGFudDsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lW3RhYmluZGV4XTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lW3RhYmluZGV4XVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lW3RhYmluZGV4XVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgwKSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faGVhZGxpbmUge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMmVtIDAgI2YwZjBmMCwgMCAtMmVtIDAgI2YwZjBmMCwgMS41cmVtIDAgMCAyZW0gI2YwZjBmMCwgLTEuNXJlbSAwIDAgMmVtICNmMGYwZjA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9IH1cblxuLmNzLXByb2R1Y3QtZGV0YWlsc19faGVhZGxpbmUtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzJkM2U1MDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZS10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlsc19faGVhZGxpbmUtdGl0bGU6YmVmb3JlLCAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZS10aXRsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZS10aXRsZTpiZWZvcmUsIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLXRpdGxlOmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjZlbTsgfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZS10aXRsZTphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faGVhZGxpbmUtdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faGVhZGxpbmUtdGl0bGU6YmVmb3JlLCAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZS10aXRsZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLXRpdGxlOmJlZm9yZSwgLmNzLXByb2R1Y3QtZGV0YWlsc19faGVhZGxpbmUtdGl0bGU6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42ZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNmVtOyB9IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlsc19faGVhZGxpbmUtdGl0bGUgLmNvdW50ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlsc19faGVhZGxpbmUtdGl0bGUgLmNvdW50ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogMC4yZW07IH1cbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZS10aXRsZSAuY291bnRlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyAoJzsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLXRpdGxlIC5jb3VudGVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcpJzsgfVxuXG4uY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZS1zdWJ0aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19oZWFkbGluZS1zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogIzg4ODtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2hlYWRsaW5lLXN1YnRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmNzLXByb2R1Y3QtZGV0YWlsc19fbm8tcmV2aWV3cy1tZXNzYWdlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1hZ2Vwc3ljaG8tcHJvZHVjdC1hdHRhY2htZW50cyBsaSBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3BkZi5wbmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG5cbi5jYXRlZ29yeS1zdGFuem1hc2NoaW5lbiAucHJpY2UtZGV0YWlscyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkbGluZS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuJHByb2R1Y3QtZGVzY3JpcHRpb25faXRlbS1iYWNrZ3JvdW5kLW1vYmlsZTogbm9uZTtcbiRwcm9kdWN0LWRlc2NyaXB0aW9uX2l0ZW0tYmFja2dyb3VuZC1kZXNrdG9wOiBub25lO1xuJHByb2R1Y3QtZGVzY3JpcHRpb25faXRlbS1tYWluLWJhY2tncm91bmQ6IG5vbmU7XG5cbiRwcm9kdWN0LWRlc2NyaXB0aW9uX2l0ZW0tc2VwYXJhdG9yLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1kZXNjcmlwdGlvbi0tbW9iaWxlX2hlYWRsaW5lLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb25faGVhZGxpbmUtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb24tLW1vYmlsZV9oZWFkbGluZS10aXRsZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRwcm9kdWN0LWRlc2NyaXB0aW9uX2hlYWRsaW5lLXRpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0yICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb25faGVhZGxpbmUtdGl0bGUtY291bnRlci12aXNpYmxlOiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb25faGVhZGxpbmUtYmFja2dyb3VuZDogJGNvbG9yX2dhbGxlcnkgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXNjcmlwdGlvbl9zdWJoZWFkbGluZS10aXRsZS1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcblxuLy8gU2hvdy9oaWRlIGhlYWRsaW5lIGZvciBjb250ZW50IGNvbnN0cnVjdG9yIHNlY3Rpb25cbiRwcm9kdWN0LWRlc2NyaXB0aW9uX2hlYWRsaW5lLWNjLXZpc2libGU6IGZhbHNlICFkZWZhdWx0O1xuXG4uI3skbnN9cHJvZHVjdC1kZXRhaWxzIHtcbiAgICAkcm9vdDogJjtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZHVjdC1kZXNjcmlwdGlvbl9pdGVtLWJhY2tncm91bmQtbW9iaWxlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcm9kdWN0LWRlc2NyaXB0aW9uX2l0ZW0tYmFja2dyb3VuZC1kZXNrdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkcHJvZHVjdC1kZXNjcmlwdGlvbl9pdGVtLXNlcGFyYXRvci1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcm9kdWN0LWRlc2NyaXB0aW9uX2l0ZW0tbWFpbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcmV2aWV3cyB7XG4gICAgICAgICAgICAvLyBBZGQgc2Nyb2xsIHRvcCBtYXJnaW4gdG8gc2hvdyByZXZpZXcgc2VjdGlvbiBiZWxvdyBzdGlja3kgaGVhZGVyIHdoZW4gc2Nyb2xsZWRcbiAgICAgICAgICAgIC8vIFByb2plY3RzIHdpdGhvdXQgc3RpY2t5IGhlYWRlciBhbHNvIHdpbGwgcmVjZWl2ZSBzY3JvbGwgbWFyZ2luLCBidXQgaXQgaXMgYmV0dGVyIHRvXG4gICAgICAgICAgICAvLyBzY3JvbGwgYSBiaXQgbG93ZXIgdGhhbiBoYXZlIHJldmlldyBjb3ZlcmVkIGJ5IGhlYWRlclxuICAgICAgICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBzY3JvbGwtbWFyZ2luLXRvcDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1kZXNrdG9wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZWxhdGVkLFxuICAgICAgICAmLS11cHNlbGwsXG4gICAgICAgICYtLWNvbnRlbnQtY29uc3RydWN0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb250ZW50LWNvbnN0cnVjdG9yIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1kZXNjcmlwdGlvbl9oZWFkbGluZS1jYy12aXNpYmxlID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWF3X3BxX2FqYXhfY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcm9kdWN0LWRlc2NyaXB0aW9uX2l0ZW0tYmFja2dyb3VuZC1tb2JpbGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cbiAgICAgICAgICAgIC8vIEFkanVzdCBjaGlsZHJlbiBzcGFjaW5ncyBhZnRlciByZXNldHRpbmcgY29udGFpbmVyIHBhZGRpbmdcbiAgICAgICAgICAgICN7JHJvb3R9X19oZWFkbGluZSxcbiAgICAgICAgICAgIC5hdy1wcS1xdWVzdGlvbi1zb3J0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAmW3RhYmluZGV4XTpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJlt0YWJpbmRleF06YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoKTtcblxuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LWRlc2NyaXB0aW9uLS1tb2JpbGVfaGVhZGxpbmUtZm9udC1zaXplO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC1kZXNjcmlwdGlvbl9oZWFkbGluZS1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGF0dHJpYnV0ZSBpcyBhZGRlZCB3aGVuIGVsZW1lbnQgaXMgY29sbGFwc2libGUuXG4gICAgICAgICZbdGFiaW5kZXhdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtZGVzY3JpcHRpb25faGVhZGxpbmUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIC8vIEV4dGVuZCBcImJhY2tncm91bmRcIiBiZXlvbmQgcGFkZGluZyBhbmQgbWFyZ2luIHRocm91Z2ggYm94LXNoYWRvd1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAyZW0gMCAkcHJvZHVjdC1kZXNjcmlwdGlvbl9oZWFkbGluZS1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIDAgLTJlbSAwICRwcm9kdWN0LWRlc2NyaXB0aW9uX2hlYWRsaW5lLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJHBhZ2VfZWRnZS1ndXR0ZXIgMCAwIDJlbVxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC1kZXNjcmlwdGlvbl9oZWFkbGluZS1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC0kcGFnZV9lZGdlLWd1dHRlciAwIDAgMmVtICRwcm9kdWN0LWRlc2NyaXB0aW9uX2hlYWRsaW5lLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZS10aXRsZShcbiAgICAgICAgICAgICRmb250LXNpemU6ICRwcm9kdWN0LWRlc2NyaXB0aW9uLS1tb2JpbGVfaGVhZGxpbmUtdGl0bGUtZm9udC1zaXplXG4gICAgICAgICk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUtdGl0bGUoXG4gICAgICAgICAgICAgICAgJGZvbnQtc2l6ZTogJHByb2R1Y3QtZGVzY3JpcHRpb25faGVhZGxpbmUtdGl0bGUtZm9udC1zaXplXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvdW50ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkcHJvZHVjdC1kZXNjcmlwdGlvbl9oZWFkbGluZS10aXRsZS1jb3VudGVyLXZpc2libGUge1xuICAgICAgICAgICAgLmNvdW50ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4yZW07XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgKCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZS1zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUtc3VidGl0bGUoXG4gICAgICAgICAgICAgICAgJGZvbnQtc2l6ZTogJHByb2R1Y3QtZGVzY3JpcHRpb25fc3ViaGVhZGxpbmUtdGl0bGUtZm9udC1zaXplXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbm8tcmV2aWV3cy1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ubWFnZXBzeWNoby1wcm9kdWN0LWF0dGFjaG1lbnRzIGxpIGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3BkZi5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi5jYXRlZ29yeS1zdGFuem1hc2NoaW5lbiAucHJpY2UtZGV0YWlscyB7XG4gICAgZGlzcGxheTpub25lO1xufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmNzLXByb2R1Y3QtZGV0YWlscy1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDEuMXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9fdGl0bGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXZfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDJlbSAwOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2X19pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXZfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yZW07IH1cbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9faXRlbSArIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2X19pdGVtIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVlbSAyZW07IH1cbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9fbGluaywgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXZfX2xpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2X19saW5rOmhvdmVyLCAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9fbGluazpmb2N1cywgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXZfX2xpbms6YWN0aXZlLCAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9fbGluazp2aXNpdGVkOmhvdmVyLCAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9fbGluazp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2IC5jb3VudGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJygnOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2IC5jb3VudGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnKSc7IH1cblxuLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZGV0YWlscy1uYXYge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAwcHggcmdiYSgzMywgMzMsIDMzLCAwLjIpOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kcHJvZHVjdC1kZXRhaWxzLW5hdl9mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcblxuJHByb2R1Y3QtZGV0YWlscy1uYXZfaXRlbS1zZXBhcmF0b3ItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LWRldGFpbHMtbmF2X2xpc3QtcGFkZGluZzogMmVtIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXRhaWxzLW5hdl9saW5rLWd1dHRlcjogMmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZGV0YWlscy1uYXZfbGluay1wYWRkaW5nOiAwLjVlbSAkcHJvZHVjdC1kZXRhaWxzLW5hdl9saW5rLWd1dHRlciAhZGVmYXVsdDtcbiRwcm9kdWN0LWRldGFpbHMtbmF2X2xpbmstY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWRldGFpbHMtbmF2X2xpbmstY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJHByb2R1Y3QtZGV0YWlscy1uYXZfY29udGFpbmVyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWRldGFpbHMtbmF2X2NvbnRhaW5lci1ib3gtc2hhZG93OiAwcHggMHB4IDVweCAwcHhcbiAgICByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTcwMCwgMC4yKSAhZGVmYXVsdDtcblxuLiN7JG5zfXByb2R1Y3QtZGV0YWlscy1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAkcHJvZHVjdC1kZXRhaWxzLW5hdl9mb250LXNpemU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LWRldGFpbHMtbmF2X2xpc3QtcGFkZGluZztcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJHByb2R1Y3QtZGV0YWlscy1uYXZfbGluay1ndXR0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHByb2R1Y3QtZGV0YWlscy1uYXZfbGluay1ndXR0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHByb2R1Y3QtZGV0YWlscy1uYXZfaXRlbS1zZXBhcmF0b3ItYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAkcHJvZHVjdC1kZXRhaWxzLW5hdl9saW5rLWNvbG9yLFxuICAgICAgICAgICAgJHByb2R1Y3QtZGV0YWlscy1uYXZfbGluay1jb2xvci1ob3ZlclxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtZGV0YWlscy1uYXZfbGluay1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5jb3VudGVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jcy1jb250YWluZXIge1xuICAgICYtLXBhZ2UtcGRwLWRldGFpbHMtbmF2IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtZGV0YWlscy1uYXZfY29udGFpbmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRwcm9kdWN0LWRldGFpbHMtbmF2X2NvbnRhaW5lci1ib3gtc2hhZG93O1xuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbi0tY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uIHtcbiAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2NvbHVtbi0tbGVmdCB7XG4gICAgICAgIGZsZXg6IDAgMCA2NSU7IH0gfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1yaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBmbGV4OiAwIDAgY2FsYygzNSUgLSAyZW0pOyB9IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZVt0YWJpbmRleF0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lW3RhYmluZGV4XTpiZWZvcmUsIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmVbdGFiaW5kZXhdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZVt0YWJpbmRleF06YmVmb3JlLCAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lW3RhYmluZGV4XTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZVt0YWJpbmRleF06YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZVt0YWJpbmRleF1bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lW3RhYmluZGV4XVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDApICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lLXRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfSB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2l0ZW0gKyAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMmVtOyB9XG5cbi5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbi0tY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uIHtcbiAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2NvbHVtbi0tbGVmdCB7XG4gICAgICAgIGZsZXg6IDAgMCA0NSU7IH0gfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1yaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBmbGV4OiAwIDAgNDUlOyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1yaWdodCAuYWNjb3JkZW9uIC5hY2NvcmRlb25faGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWNlY2VjICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nOiAuNWVtIC41ZW0gLjVlbSAuN2VtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19jb2x1bW4tLXJpZ2h0IC5hY2NvcmRlb24gLmFjY29yZGVvbl9oZWFkZXIgLmFjY29yZGVvbl9pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9hcnJvdy1sZWZ0LnBuZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICBsZWZ0OiBhdXRvOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1yaWdodCAuYWNjb3JkZW9uIC5hY2NvcmRlb25faGVhZGVyLmFjdGl2ZSAuYWNjb3JkZW9uX2ljb24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvYXJyb3ctZG93bi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGhlaWdodDogMTRweDsgfVxuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19jb2x1bW4tLXJpZ2h0IC5hY2NvcmRlb24gLmFjY29yZGVvbl9jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMjBweCAwOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1yaWdodCAuYWNjb3JkZW9uIC5hY2NvcmRlb25fY29udGVudC5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19jb2x1bW4tLXJpZ2h0IC5hY2NvcmRlb24gLmFjY29yZGVvbl9jb250ZW50LmFjdGl2ZSBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1yaWdodCAuYWNjb3JkZW9uIC5hY2NvcmRlb25fc3BhY2VyIHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmVbdGFiaW5kZXhdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZVt0YWJpbmRleF06YmVmb3JlLCAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lW3RhYmluZGV4XTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4xNXMgZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmVbdGFiaW5kZXhdOmJlZm9yZSwgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZVt0YWJpbmRleF06YWZ0ZXIge1xuICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmVbdGFiaW5kZXhdOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmVbdGFiaW5kZXhdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKC05MGRlZykgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZVt0YWJpbmRleF1bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgwKSAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmUtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZS10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDJyZW07IH0gfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19pdGVtICsgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwcm9kdWN0LWRldGFpbHMtbWFpbl9pdGVtLWd1dHRlcjogMmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZGV0YWlscy1tYWluX2NvbHVtbi1icmVha3BvaW50OiAnPj10YWJsZXQnICFkZWZhdWx0O1xuJHByb2R1Y3QtZGV0YWlscy1tYWluX2xlZnQtY29sdW1uLWZsZXg6IDAgMCA2NSUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXRhaWxzLW1haW5fcmlnaHQtY29sdW1uLWZsZXg6IDAgMFxuICAgIGNhbGMoMzUlIC0gI3skcHJvZHVjdC1kZXRhaWxzLW1haW5faXRlbS1ndXR0ZXJ9KSAhZGVmYXVsdDtcblxuJHByb2R1Y3QtZGV0YWlscy1tYWluLS1tb2JpbGVfaGVhZGxpbmUtbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCAhZGVmYXVsdDtcbiRwcm9kdWN0LWRldGFpbHMtbWFpbl9oZWFkbGluZS1sZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuXG4uI3skbnN9cHJvZHVjdC1kZXRhaWxzLW1haW4ge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcHJvZHVjdC1kZXRhaWxzLW1haW5faXRlbS1ndXR0ZXI7XG5cbiAgICAmLS1jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgICZfX2NvbHVtbiB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuXG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skcHJvZHVjdC1kZXRhaWxzLW1haW5fY29sdW1uLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgZmxleDogJHByb2R1Y3QtZGV0YWlscy1tYWluX2xlZnQtY29sdW1uLWZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1kZXRhaWxzLW1haW5faXRlbS1ndXR0ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHByb2R1Y3QtZGV0YWlscy1tYWluX2NvbHVtbi1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgZmxleDogJHByb2R1Y3QtZGV0YWlscy1tYWluX3JpZ2h0LWNvbHVtbi1mbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJlt0YWJpbmRleF0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRwcm9kdWN0LWRldGFpbHMtbWFpbi0tbW9iaWxlX2hlYWRsaW5lLWxldmVsKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRwcm9kdWN0LWRldGFpbHMtbWFpbl9oZWFkbGluZS1sZXZlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtZGV0YWlscy1tYWluX2l0ZW0tZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd+Q3JlYXRpdmVzaG9wL2NvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWxzL21haW4vbWFpbi5zY3NzJztcblxuJHByb2R1Y3QtZGV0YWlscy1tYWluX2l0ZW0tZ3V0dGVyOiAyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXRhaWxzLW1haW5fY29sdW1uLWJyZWFrcG9pbnQ6ICc+PXRhYmxldCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXRhaWxzLW1haW5fbGVmdC1jb2x1bW4tZmxleDogMCAwIDQ1JTtcbiRwcm9kdWN0LWRldGFpbHMtbWFpbl9yaWdodC1jb2x1bW4tZmxleDogMCAwIDQ1JTtcblxuJHByb2R1Y3QtZGV0YWlscy1tYWluLS1tb2JpbGVfaGVhZGxpbmUtbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCAhZGVmYXVsdDtcbiRwcm9kdWN0LWRldGFpbHMtbWFpbl9oZWFkbGluZS1sZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuXG4uI3skbnN9cHJvZHVjdC1kZXRhaWxzLW1haW4ge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcHJvZHVjdC1kZXRhaWxzLW1haW5faXRlbS1ndXR0ZXI7XG5cbiAgICAmLS1jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgICZfX2NvbHVtbiB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuXG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skcHJvZHVjdC1kZXRhaWxzLW1haW5fY29sdW1uLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgZmxleDogJHByb2R1Y3QtZGV0YWlscy1tYWluX2xlZnQtY29sdW1uLWZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1kZXRhaWxzLW1haW5faXRlbS1ndXR0ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHByb2R1Y3QtZGV0YWlscy1tYWluX2NvbHVtbi1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgZmxleDogJHByb2R1Y3QtZGV0YWlscy1tYWluX3JpZ2h0LWNvbHVtbi1mbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWNjb3JkZW9uIHtcbiAgICAgICAgICAgICAgICAuYWNjb3JkZW9uX2hlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VjZWNlYyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAuNWVtIC41ZW0gLjVlbSAuN2VtO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLmFjY29yZGVvbl9pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9hcnJvdy1sZWZ0LnBuZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYWNjb3JkZW9uX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvYXJyb3ctZG93bi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYWNjb3JkZW9uX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYWNjb3JkZW9uX3NwYWNlciB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICZbdGFiaW5kZXhdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkcHJvZHVjdC1kZXRhaWxzLW1haW4tLW1vYmlsZV9oZWFkbGluZS1sZXZlbCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkcHJvZHVjdC1kZXRhaWxzLW1haW5faGVhZGxpbmUtbGV2ZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwcm9kdWN0LWRldGFpbHMtbWFpbl9pdGVtLWd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uY3MtcmV2aWV3IHtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLXJldmlld19fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgMC43cmVtO1xuICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gIC5jcy1yZXZpZXdfX3JhdGluZywgLmNzLXJldmlld19fcmF0aW5ncyB7XG4gICAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1yZXZpZXdfX2NvbXBvdW5kLXJhdGluZyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogMjByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zZW07IH1cbiAgICAuY3MtcmV2aWV3X19jb21wb3VuZC1yYXRpbmc6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1yZXZpZXdfX21ldGEge1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAgIC5jcy1yZXZpZXdfX21ldGEtLXZhcmlhbnQtc3VwcG9ydCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtcmV2aWV3X19tZXRhLWl0ZW0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgIC5jcy1yZXZpZXdfX21ldGEtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuY3MtcmV2aWV3X19tZXRhLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLmNzLXJldmlld19fYXV0aG9yIHtcbiAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3MtcmV2aWV3X19kYXRlIHtcbiAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICBjb2xvcjogIzg4ODsgfVxuICAuY3MtcmV2aWV3X192YXJpYW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG4gICAgLmNzLXJldmlld19fdmFyaWFudCAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY3MtcmV2aWV3X192YXJpYW50IC5zd2F0Y2gtb3B0aW9uIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuY3MtcmV2aWV3X19jb250ZW50IHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM4ODg7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kcmV2aWV3X2ZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHJldmlld190aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHJldmlld190aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHJldmlld19hdXRob3ItY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRyZXZpZXdfY29udGVudC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHJldmlld19kYXRlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kcmV2aWV3X21ldGEtaXRlbS1mb250LXNpemU6IDAuOWVtICFkZWZhdWx0O1xuJHJldmlld19tZXRhLWl0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kcmV2aWV3X21ldGEtaXRlbS1wYWRkaW5nOiAwIDFyZW0gIWRlZmF1bHQ7XG4kcmV2aWV3X2hpZGUtY29tcG91bmQtcmF0aW5nczogZmFsc2UgIWRlZmF1bHQ7XG5cbi4jeyRuc31yZXZpZXcge1xuICAgIGZvbnQtc2l6ZTogJHJldmlld19mb250LXNpemU7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmV2aWV3X3RpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgMCAwLjdyZW07XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3X3RpdGxlLWNvbG9yO1xuICAgIH1cblxuICAgICZfX3JhdGluZyxcbiAgICAmX19yYXRpbmdzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19jb21wb3VuZC1yYXRpbmcge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRyZXZpZXdfaGlkZS1jb21wb3VuZC1yYXRpbmdzKSB7XG4gICAgICAgICZfX2NvbXBvdW5kLXJhdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmIC5jcy1zdGFyLXJhdGluZ19fbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19vdmVyYWxsLXJhdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWV0YSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld19tZXRhLWl0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgICYtLXZhcmlhbnQtc3VwcG9ydCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21ldGEtaXRlbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBhZGRpbmc6ICRyZXZpZXdfbWV0YS1pdGVtLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIGJvcmRlci1yaWdodDogJHJldmlld19tZXRhLWl0ZW0tYm9yZGVyO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2F1dGhvciB7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3X2F1dGhvci1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19kYXRlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3X2RhdGUtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fdmFyaWFudCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgcGFkZGluZzogJHJldmlld19tZXRhLWl0ZW0tcGFkZGluZztcblxuICAgICAgICAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dhdGNoLW9wdGlvbiB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJHJldmlld19jb250ZW50LWNvbG9yO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXJldmlld3Mge1xuICBmbGV4OiAxIDEgMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1yZXZpZXdzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgLmNzLXJldmlld3NfX3RpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzX190aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY3MtcmV2aWV3c19fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtcmV2aWV3c19fbGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiA0cmVtOyB9XG4gIC5jcy1yZXZpZXdzX19pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDAgMi41cmVtO1xuICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmNzLXJldmlld3NfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1yZXZpZXdzX19mb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcmV2aWV3c19fZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07IH0gfVxuICAgIC5jcy1yZXZpZXdzX19mb3JtIC5zd2F0Y2gtb3B0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNzLXJldmlld3NfX2Zvcm0gLnN3YXRjaC1vcHQgLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtcmV2aWV3c19fZm9ybSAuc3dhdGNoLW9wdCAuc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5jcy1yZXZpZXdzX19mb3JtIC5zd2F0Y2gtb3B0IC5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnIConOyB9XG4gICAgICAuY3MtcmV2aWV3c19fZm9ybSAuc3dhdGNoLW9wdCAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtcmV2aWV3c19faGVhZGxpbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEuNGVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgLmNzLXJldmlld3NfX3Byb2R1Y3QtbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuICAuY3MtcmV2aWV3c19fcmF0aW5nLWl0ZW06bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLXRvcDogMWVtOyB9XG4gIC5jcy1yZXZpZXdzX19vcHRpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzX19vcHRpb25zIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYzsgfSB9XG4gIC5jcy1yZXZpZXdzX19yYXRpbmdzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcmV2aWV3c19fZmllbGRzZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcmV2aWV3c19fZmllbGRzZXQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH0gfVxuICAuY3MtcmV2aWV3c19fc3VibWl0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcmV2aWV3c19fc3VibWl0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b24sIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b24gKiwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1yZXZpZXdzX19yYXRpbmctY29udHJvbCB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBoZWlnaHQ6IDEuMjc1ZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLXJldmlld3NfX3JhdGluZy1jb250cm9sIGlucHV0W3R5cGU9J3JhZGlvJ10sXG4gICAgLmNzLXJldmlld3NfX3JhdGluZy1jb250cm9sIC5jcy1yZXZpZXdzX19yYXRlLXN0YXJzIHNwYW4ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIC8qIDEgKi8gfVxuICAuY3MtcmV2aWV3c19fcmF0ZS1zdGFycyB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvcmRlcjogMDsgfVxuICAuY3MtcmV2aWV3c19fcmF0ZS1mZWVkYmFjayB7XG4gICAgb3JkZXI6IDE7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOWVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXJldmlld3NfX3Jldmlldy1maWVsZCB7XG4gICAgbWluLWhlaWdodDogMTByZW07XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuICAuY3MtcmV2aWV3cyAuY3MtcGFnaW5hdGlvbl9fY29udGVudCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4kcmV2aWV3cy1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRyZXZpZXdzLXNwYWNpbmc6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8gUmV2aWV3cyBmb3JtIHN0eWxpbmdcbiRyZXZpZXdzX2Zvcm0tcGFkZGluZy1kZXNrdG9wOiAzcmVtICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS10d28tY29sdW1ucy1kZXNrdG9wOiB0cnVlICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS10d28tY29sdW1ucy1zcGFjaW5nOiAkcmV2aWV3c19mb3JtLXBhZGRpbmctZGVza3RvcCAhZGVmYXVsdDtcbiRyZXZpZXdzX2Zvcm0tYmFja2dyb3VuZC1kZXNrdG9wOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG5cbiRyZXZpZXdzX2Zvcm0tYnV0dG9uLWFsaWduOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1idXR0b24tYWxpZ24tZGVza3RvcDogY2VudGVyICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1oZWFkbGluZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRyZXZpZXdzX2Zvcm0tcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0OiAyMDAgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLXBhZGRpbmc6ICRmaWVsZF9pbnB1dC1wYWRkaW5nICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1jb250ZW50LWhlaWdodDogJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1ib3JkZXI6ICRmaWVsZF9pbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1mZWRiYWNrLXRleHQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRyZXZpZXdzX2Zvcm0tZmVkYmFjay1mb250LXNpemU6IDAuODVlbSAhZGVmYXVsdDtcblxuJHJldmlld3NfZm9ybS1zdWJtaXQtYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1zdWJtaXQtYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbi4jeyRuc31yZXZpZXdzIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGZsZXg6IDEgMSAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRyZXZpZXdzLWJvcmRlcjtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nYWxsZXJ5O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMCAwICRyZXZpZXdzLXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbjogMCAwICRyZXZpZXdzLXNwYWNpbmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRyZXZpZXdzLWJvcmRlcjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgbWFyZ2luOiAkcmV2aWV3cy1zcGFjaW5nIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJldmlld3NfZm9ybS1iYWNrZ3JvdW5kLWRlc2t0b3A7XG4gICAgICAgICAgICBwYWRkaW5nOiAkcmV2aWV3c19mb3JtLXBhZGRpbmctZGVza3RvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0eWxlcyBvZiB2YXJpbmFudCBzZWxlY3QgZm9yIHJldmlldyAoZGlzcGxheWVkIGlmIGVuYWJsZWQgaW4gY29uZmlndXJhdGlvbilcbiAgICAgICAgLnN3YXRjaC1vcHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgICAgICAgICBmb250LXNpemU6ICRmaWVsZF9mb250LXNpemU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsKCk7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyAqJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjRlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3c19mb3JtLWhlYWRsaW5lLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogJHJldmlld3NfZm9ybS1wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9fcmF0aW5nLWl0ZW06bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG5cbiAgICAmX19vcHRpb25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgICBmb250LXNpemU6ICRmaWVsZF9mb250LXNpemU7XG5cbiAgICAgICAgQGlmICgkcmV2aWV3c19mb3JtLXR3by1jb2x1bW5zLWRlc2t0b3ApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRyZXZpZXdzX2Zvcm0tdHdvLWNvbHVtbnMtc3BhY2luZztcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRyZXZpZXdzLWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JhdGluZ3Mge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19maWVsZHNldCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICBAaWYgKCRyZXZpZXdzX2Zvcm0tdHdvLWNvbHVtbnMtZGVza3RvcCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcmV2aWV3c19mb3JtLXR3by1jb2x1bW5zLXNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkcmV2aWV3c19mb3JtLWJ1dHRvbi1hbGlnbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRyZXZpZXdzX2Zvcm0tYnV0dG9uLWFsaWduLWRlc2t0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRyZXZpZXdzX2Zvcm0tc3VibWl0LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcmV2aWV3c19mb3JtLXN1Ym1pdC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yYXRpbmctY29udHJvbCB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBib3JkZXI6ICRyZXZpZXdzX2Zvcm0tcmF0aW5nLWNvbnRyb2wtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLXBhZGRpbmc7XG4gICAgICAgIGhlaWdodDogJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1jb250ZW50LWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1iYWNrZ3JvdW5kO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddLFxuICAgICAgICAjeyRyb290fV9fcmF0ZS1zdGFycyBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmF0ZS1zdGFycyB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG9yZGVyOiAwO1xuICAgIH1cblxuICAgICZfX3JhdGUtZmVlZGJhY2sge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3c19mb3JtLWZlZGJhY2stZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45ZW07XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3c19mb3JtLWZlZGJhY2stdGV4dC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19yZXZpZXctZmllbGQge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMHJlbTtcbiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICB9XG5cbiAgICAuY3MtcGFnaW5hdGlvbl9fY29udGVudCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46ICRyZXZpZXdzLXNwYWNpbmcgMDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXJldmlld3Mtc3VtbWFyeSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDEgMCAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnkge1xuICAgICAgZmxleDogMCAwIDM1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMi41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fbm90ZSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5jcy1yZXZpZXdzLXN1bW1hcnlfX25vdGUtcmlnaHQge1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2FsbC1jb3VudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b24td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b24td3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbjpob3ZlciwgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOmZvY3VzLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbjpiZWZvcmUsIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDAlLCAjMmQzZTUwIDAlLCAjMmQzZTUwIDEwMCUpOyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b24sIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiAqLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fc3RhcnMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMy4xMjVlbSkge1xuICAgICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fc3RhcnMge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fc3RhcnMge1xuICAgICAgICBmbGV4OiAwIDEgMTAwJTsgfSB9XG4gIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2JhcnMge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgaW5zaWRlIG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDIuNXJlbSAwIDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIG1heC13aWR0aDogNDByZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjMuMTI1ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2JhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2JhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19iYXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYmFyLWxhYmVsIHtcbiAgICAgIGZsZXg6IDAgMSAzLjVlbTsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2Jhci1jb3VudCB7XG4gICAgICB3aWR0aDogMS41ZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2Jhci1wcm9ncmVzcyB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1pbi13aWR0aDogOXJlbTtcbiAgICAgIGhlaWdodDogMC45ZW07XG4gICAgICBtYXJnaW46IDAgMC44cmVtIDAgMC43cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuICAgICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYmFyLXByb2dyZXNzLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZGZhNDsgfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyLjVyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMy4xMjVlbSkge1xuICAgICAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzLWl0ZW0ge1xuICAgICAgICAgIG1heC13aWR0aDogMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fcmF0aW5ncy1hdmVyYWdlcy1pdGVtIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwcmVtOyB9IH1cbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX3JhdGluZ3MtYXZlcmFnZXMtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kcmV2aWV3cy1zdW1tYXJ5X2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9zcGFjaW5nOiAyLjVyZW0gIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X2Rlc2t0b3Atd2lkdGg6IDM1cmVtICFkZWZhdWx0O1xuXG4kcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuJHJldmlld3Mtc3VtbWFyeV9iYXJzLWZsZXgtZ3JvdzogMSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfYmFycy1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfYmFycy1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9iYXItbWF4LXdpZHRoOiA0MHJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfYmFyLWhlaWdodDogMS4ycmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9iYXItbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfcHJvZ3Jlc3MtYmFyLW1pbi13aWR0aDogOXJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfcHJvZ3Jlc3MtYmFyLWhlaWdodDogMC45ZW0gIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X3Byb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X3Byb2dyZXNzLWJhci1maWxsLWJhY2tncm91bmQ6ICRjb2xvcl9yZXZpZXctYmFyLWFjdGl2ZSAhZGVmYXVsdDtcblxuJHJldmlld3Mtc3VtbWFyeV9ub3RlLWZvbnQtc2l6ZTogNHJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfbm90ZS1sZWZ0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X25vdGUtcmlnaHQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuJHJldmlld3MtcmF0aW5ncy1hdmVyYWdlc19oaWRlOiBmYWxzZSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfYXZlcmFnZXNfbWF4LXdpZHRoOiA0MHJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfYXZlcmFnZXNfbWF4LXdpZHRoLW1vYmlsZTogMjVyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31yZXZpZXdzLXN1bW1hcnkge1xuICAgICRyb290OiAmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMSAwIDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogJHJldmlld3Mtc3VtbWFyeV9ib3JkZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGZsZXg6IDAgMCAkcmV2aWV3cy1zdW1tYXJ5X2Rlc2t0b3Atd2lkdGg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHJldmlld3Mtc3VtbWFyeV9zcGFjaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmc7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHJldmlld3Mtc3VtbWFyeV9ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJl9fbm90ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld3Mtc3VtbWFyeV9ub3RlLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3cy1zdW1tYXJ5X25vdGUtbGVmdC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgICZfX25vdGUtcmlnaHQge1xuICAgICAgICBjb2xvcjogJHJldmlld3Mtc3VtbWFyeV9ub3RlLXJpZ2h0LWNvbG9yO1xuICAgIH1cblxuICAgICZfX2FsbC1jb3VudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6ICRyZXZpZXdzLXN1bW1hcnlfc3BhY2luZztcbiAgICAgICAgcGFkZGluZzogJHJldmlld3Mtc3VtbWFyeV9zcGFjaW5nIDA7XG4gICAgICAgIGJvcmRlci10b3A6ICRyZXZpZXdzLXN1bW1hcnlfYm9yZGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJHJldmlld3Mtc3VtbWFyeV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHJldmlld3Mtc3VtbWFyeV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICBmb250LXNpemU6ICRyZXZpZXdzLXN1bW1hcnlfYnV0dG9uLWZvbnQtc2l6ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJHJldmlld3Mtc3VtbWFyeV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHJldmlld3Mtc3VtbWFyeV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRyZXZpZXdzLXN1bW1hcnlfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRyZXZpZXdzLXN1bW1hcnlfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fc3RhcnMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJykge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhcnMge1xuICAgICAgICBmb250LXNpemU6ICRyZXZpZXdzLXN1bW1hcnlfYmFycy1mb250LXNpemU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgaW5zaWRlIG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogJHJldmlld3Mtc3VtbWFyeV9zcGFjaW5nIDAgMDtcbiAgICAgICAgZmxleC1ncm93OiAkcmV2aWV3cy1zdW1tYXJ5X2JhcnMtZmxleC1ncm93O1xuICAgICAgICBjb2xvcjogJHJldmlld3Mtc3VtbWFyeV9iYXJzLWNvbG9yO1xuICAgICAgICBtYXgtd2lkdGg6ICRyZXZpZXdzLXN1bW1hcnlfYmFyLW1heC13aWR0aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAwICRyZXZpZXdzLXN1bW1hcnlfYmFyLW1hcmdpbi1ib3R0b20gMDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgZmxleDogMCAxIDMuNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1jb3VudCB7XG4gICAgICAgICAgICB3aWR0aDogMS41ZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICRyZXZpZXdzLXN1bW1hcnlfcHJvZ3Jlc3MtYmFyLW1pbi13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItaGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuOHJlbSAwIDAuN3JlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZXZpZXdzLXN1bW1hcnlfcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmF0aW5ncy1hdmVyYWdlcyB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogJHJldmlld3Mtc3VtbWFyeV9zcGFjaW5nIDAgMDtcbiAgICAgICAgcGFkZGluZzogJHJldmlld3Mtc3VtbWFyeV9zcGFjaW5nIDAgMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJHJldmlld3Mtc3VtbWFyeV9ib3JkZXI7XG4gICAgICAgIEBpZiAoJHJldmlld3MtcmF0aW5ncy1hdmVyYWdlc19oaWRlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkcmV2aWV3cy1zdW1tYXJ5X2F2ZXJhZ2VzX21heC13aWR0aC1tb2JpbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRyZXZpZXdzLXN1bW1hcnlfYXZlcmFnZXNfbWF4LXdpZHRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtdGFicyB7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggM3JlbSAwIHJnYmEoMzMsIDMzLCAzMywgMC4yOCk7IH1cbiAgLmNzLXRhYnMtLXN0b3JlLXBpY2t1cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy10YWJzLS1zdG9yZS1waWNrdXA6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IDNweCAzcmVtIDAgcmdiYSgzMywgMzMsIDMzLCAwLjI4KTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9IH1cbiAgLmNzLXRhYnMtLWJhciB7XG4gICAgbWFyZ2luOiAwIDAgMCAtMS41cmVtO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmNzLXRhYnNfX3RyaWdnZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdHJpZ2dlcnMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgI3N0b3JlLXBpY2t1cCB+ICNzaGlwcGluZyAuY3MtdGFic19fdHJpZ2dlcnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtdGFic19fdGl0bGUge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggMCAjNjk2OTY5O1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIHBhZGRpbmctdG9wOiAwLjJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjJyZW07IH1cbiAgICAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBjb2xvcjogIzJkM2U1MCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgei1pbmRleDogMzsgfVxuICAgICAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbms6dmlzaXRlZCwgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgICAgICAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazp2aXNpdGVkLCAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciwgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbms6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzJkM2U1MCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazp2aXNpdGVkLCAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rOmhvdmVyLCAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhciwgY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZTpub3QoLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDsgfVxuICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGU6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7IH1cbiAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OyB9XG4gIC5jcy10YWJzX190aXRsZS1saW5rIHtcbiAgICBjb2xvcjogIzg4ODtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIHBhZGRpbmc6IDAuMXJlbSAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy10YWJzX190aXRsZS1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMC4xcmVtIDJyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtdGFic19fdGl0bGUtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDUuNXJlbTsgfSB9XG4gICAgLmNzLXRhYnNfX3RpdGxlLWxpbms6aG92ZXIsIC5jcy10YWJzX190aXRsZS1saW5rOmFjdGl2ZSwgLmNzLXRhYnNfX3RpdGxlLWxpbms6Zm9jdXMsIC5jcy10YWJzX190aXRsZS1saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM4ODg7IH1cbiAgICAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS1saW5rIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBwYWRkaW5nOiAwLjZyZW0gMC41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07IH0gfVxuICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciwgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtbGluazphY3RpdmUsIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLWxpbms6Zm9jdXMsIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLWxpbms6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLXNwYW46bm90KDplbXB0eSk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKCc7IH1cbiAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtc3Bhbjpub3QoOmVtcHR5KTphZnRlciB7XG4gICAgY29udGVudDogJyknOyB9XG4gIC5jcy10YWJzX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG5cbiNzdG9yZS1waWNrdXAgfiAjc2hpcHBpbmcgI3RhYi1jdXN0b21lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJHRhYnNfYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiR0YWJzX2luc2V0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggMCAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kdGFic19ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiR0YWJzX3RhYi10aXRsZS1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4kdGFic190YWItdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiR0YWJzX3RhYi10aXRsZS1mb250LXNpemU6IDEuOHJlbSAhZGVmYXVsdDtcbiR0YWJzX3RhYi10aXRsZS1mb250LXNpemUtbW9iaWxlOiAxLjJyZW0gIWRlZmF1bHQ7XG4kdGFic190YWItYWN0aXZlLXRpdGxlLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWltcG9ydGFudCAhZGVmYXVsdDtcbiR0YWJzX3RhYi10aXRsZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuJHRhYnNfdGFiLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbiR0YWJzX2NvbnRlbnQtcGFkZGluZzogMnJlbSAhZGVmYXVsdDtcblxuJHRhYnNfaGVpZ2h0OiA1LjVyZW0gIWRlZmF1bHQ7XG4kdGFic19oZWlnaHQtbW9iaWxlOiA0cmVtICFkZWZhdWx0O1xuXG4kdGFicy0tYmFyX21hcmdpbjogMCAwIDAgLSN7JHBhZ2VfZWRnZS1ndXR0ZXJ9ICFkZWZhdWx0O1xuJHRhYnMtLWJhcl9wYWRkaW5nOiAwICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJHRhYnMtLWJhcl90YWItdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiR0YWJzLS1iYXJfdGFiLXRpdGxlLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kdGFicy0tYmFyX3RhYi10aXRsZS1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiR0YWJzLS1iYXJfdGFiLWJvcmRlci10b3AtcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG5cbi4jeyRuc310YWJzIHtcbiAgICAkcm9vdDogJjtcbiAgICBib3gtc2hhZG93OiAkdGFic19ib3gtc2hhZG93O1xuXG4gICAgJi0tc3RvcmUtcGlja3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpZiAkdGFic19ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkdGFic19ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYmFyIHtcbiAgICAgICAgbWFyZ2luOiAkdGFicy0tYmFyX21hcmdpbjtcbiAgICAgICAgcGFkZGluZzogJHRhYnMtLWJhcl9wYWRkaW5nO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFic19ib3JkZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgI3skcm9vdH0tLWJhciAmIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgICNzdG9yZS1waWNrdXAgfiAjc2hpcHBpbmcgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0YWJzX3RhYi10aXRsZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiAkdGFic19pbnNldC1ib3gtc2hhZG93O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjJyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC4ycmVtO1xuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFic190YWItYWN0aXZlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgI3skcm9vdH1fX3RpdGxlLWxpbmsge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRhYnNfdGFiLWFjdGl2ZS10aXRsZS1jb2xvcjtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1iYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnNfdGFiLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzX3RhYi1hY3RpdmUtdGl0bGUtY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH0tLWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1iYXIgJiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogJHRhYnNfYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyLCBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9X190aXRsZS0tYWN0aXZlKTpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkdGFic190YWItdGl0bGUtYmFja2dyb3VuZCwgNSUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR0YWJzLS1iYXJfdGFiLWJvcmRlci10b3AtcmFkaXVzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdGFicy0tYmFyX3RhYi1ib3JkZXItdG9wLXJhZGl1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlLWxpbmsge1xuICAgICAgICBjb2xvcjogJHRhYnNfdGFiLXRpdGxlLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkdGFic19oZWlnaHQtbW9iaWxlO1xuICAgICAgICBoZWlnaHQ6ICR0YWJzX2hlaWdodC1tb2JpbGU7XG4gICAgICAgIHBhZGRpbmc6IDAuMXJlbSAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBmb250LXdlaWdodDogJHRhYnNfdGFiLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICR0YWJzX3RhYi10aXRsZS1mb250LXNpemUtbW9iaWxlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMXJlbSAkdGFic19jb250ZW50LXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0YWJzX3RhYi10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJHRhYnNfaGVpZ2h0O1xuICAgICAgICAgICAgaGVpZ2h0OiAkdGFic19oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGFic190YWItdGl0bGUtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1iYXIgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYnMtLWJhcl90YWItdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogMC42cmVtIDAuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFicy0tYmFyX3RhYi10aXRsZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtIDEuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzLS1iYXJfdGFiLXRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUtc3Bhbjpub3QoOmVtcHR5KSB7XG4gICAgICAgICN7JHJvb3R9LS1iYXIgJiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogJHRhYnNfY29udGVudC1wYWRkaW5nO1xuICAgIH1cbn1cblxuI3N0b3JlLXBpY2t1cCB+ICNzaGlwcGluZyAjdGFiLWN1c3RvbWVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyoqIFN0eWxlcyBmb3JtIF90YWJsZXMubGVzcyBvZiB0aGVtZSBibGFuayBhcmUgbW92ZWQgaGVyZS5cbiAgICogRm9yIHNvbWUgdGFibGVzIHRoZXJlIGlzIG1vYmlsZSBsYXlvdXQgYXBwbGllZCBhbHNvIGZvciB0YWJsZXQgcmVzb2x1dGlvbnNcbiAgICogVmFyaWFibGVzIGZvciB0eXBvZ3JhcHksIGNvbG9ycywgYm9yZGVyIGV0Yy4gYXJlIGFkZGVkXG4qL1xuXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUvbWl4aW4nO1xuXG4kdGFibGVfYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGVfYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kdGFibGVfcm93LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHRhYmxlX2NvbHVtbi1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kdGFibGVfZXZlbi1yb3ctYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZV9oZWFkLWJvcmRlci1ib3R0b206IG5vbmU7XG4kdGFibGVfaGVhZC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHRhYmxlX2hlYWQtZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTU7XG4kdGFibGVfaGVhZC10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiR0YWJsZV9oZWFkX2ZvbnQtc2l6ZS0tbW9iaWxlOiAxLjRyZW0gIWRlZmF1bHQ7XG4kdGFibGVfaGVhZF9tb3ZlLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcblxuJHRhYmxlX2l0ZW0tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiR0YWJsZV9pdGVtLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9wYXJhZ3JhcGggIWRlZmF1bHQ7XG4kdGFibGVfaXRlbS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJHRhYmxlX2l0ZW0tbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4kdGFibGVfaXRlbS1wYWRkaW5nOiAwLjhyZW0gMXJlbSAhZGVmYXVsdDtcbiR0YWJsZV9hY3Rpb25zLWxpbmtzLXNlcGFyYXRvcjogMnB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cbi50YWJsZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5jYXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAmIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ncm91cGVkIHtcbiAgICAgICAgdGJvZHk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRhYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGVfYm9yZGVyLWJvdHRvbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlX2JhY2tncm91bmQ7XG5cbiAgICAmID4gY2FwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICY6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdGFibGVfaXRlbS1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAkdGFibGVfaGVhZC1ib3JkZXItYm90dG9tO1xuXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdGFibGVfaGVhZC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0YWJsZV9oZWFkLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFibGVfaGVhZC1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRmb250X2ZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdGFibGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0YWJsZV9pdGVtLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGVfaXRlbS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGVfcm93LWJvcmRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJHRhYmxlX2NvbHVtbi1ib3JkZXI7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgICAgICYuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlX3Jvdy1ib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhICsgYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuN3JlbSAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRhYmxlX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdGFibGVfYWN0aW9ucy1saW5rcy1zZXBhcmF0b3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICAgICAgICAgIC5hY2NvdW50ICYge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGVfZXZlbi1yb3ctYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0YWJsZV9pdGVtLWZvbnQtc2l6ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2dhbGxlcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYXJrIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlLCBcbiAgICAgICAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSwgXG4gICAgICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheDpiZWZvcmUsIFxuICAgICAgICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlLFxuICAgICAgICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXg6YmVmb3JlLCBcbiAgICAgICAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSwgXG4gICAgICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsIFxuICAgICAgICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgIC5pdGVtcy1xdHksXG4gICAgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkdGFibGVfaXRlbS1saW5lLWhlaWdodDtcbiAgICB9XG4gICAgLmJveC10b2NhcnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxufVxuXG4vLyAgTW9iaWxlIGxheW91dFxuQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgLnRhYmxlLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB0YWJsZS13cmFwcGVyLW1vYmlsZS1sYXlvdXQoKTtcblxuICAgICAgICAudGFibGUge1xuICAgICAgICAgICAgJjpub3QoLmNvbXBhcmlzb24pIHtcbiAgICAgICAgICAgICAgICAmOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscyl7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxlLW1vYmlsZS1sYXlvdXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAkaGVhZF9jb2xvcjogJHRhYmxlX2hlYWQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAkaGVhZF9tb3ZlLW9uLW1vYmlsZTogJHRhYmxlX2hlYWRfbW92ZS1vbi1tb2JpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkaGVhZF9mb250LXNpemUtLW1vYmlsZTogJHRhYmxlX2hlYWRfZm9udC1zaXplLS1tb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkLnF0eTpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZC5jYXJ0OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKCR0YWJsZV9oZWFkX21vdmUtb24tbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFkZGl0aW9uYWwtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB7XG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHRoLFxuICAgICAgICB0Ym9keSB0ZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNvbWUgdGFibGVzIGRpc3BsYXkgbW9iaWxlIGxheW91dCBhbHNvIG9uIHRhYmxldCByZXNvbHV0aW9uXG4udGFibGUtd3JhcHBlci5jYXJ0LFxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLXdyYXBwZXItbW9iaWxlLWxheW91dCgpO1xuXG4gICAgLnRhYmxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZS1tb2JpbGUtbGF5b3V0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuIiwiLyoqIFN0eWxlcyBmb3JtIF90YWJsZXMubGVzcyBvZiB0aGVtZSBibGFuayBhcmUgbW92ZWQgaGVyZS5cbiAgICogRm9yIHNvbWUgdGFibGVzIHRoZXJlIGlzIG1vYmlsZSBsYXlvdXQgYXBwbGllZCBhbHNvIGZvciB0YWJsZXQgcmVzb2x1dGlvbnNcbiAgICogVmFyaWFibGVzIGZvciB0eXBvZ3JhcHksIGNvbG9ycywgYm9yZGVyIGV0Yy4gYXJlIGFkZGVkXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4udGFibGUtd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAudGFibGUtd3JhcHBlciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUtd3JhcHBlci5jYXJ0IHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH0gfVxuICAudGFibGUtd3JhcHBlci5ncm91cGVkIHRib2R5Omxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnRhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC50YWJsZSA+IGNhcHRpb24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtOyB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGhlYWQgdGgge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkLmFjdGlvbnMge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkLmFjdGlvbnMgYSArIGE6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuN3JlbSAwIDAuNXJlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNkY2RjZGM7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmFjY291bnQgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3Qge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9IH1cbiAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IC5tYXJrIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IC5hbW91bnQge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheCAucHJpY2UsXG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4OmJlZm9yZSxcbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlLFxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsXG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSxcbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2Uge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAudGFibGUgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gIC50YWJsZSAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgLnRhYmxlIC5pdGVtcy1xdHksXG4gIC50YWJsZSAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4gIC50YWJsZSAuYm94LXRvY2FydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAudGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscyk6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMnJlbTsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmJlZm9yZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpIFwiOiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkLmFjdGlvbnMge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkLmFjdGlvbnM6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgLyogMSAqLyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHRoIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDcwJTsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHRkIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB0ciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHRyOmZpcnN0LWNoaWxkIHRoLFxuICAgICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGQucXR5OmJlZm9yZSxcbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGQuY2FydDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpLmFkZGl0aW9uYWwtYXR0cmlidXRlcyB0Ym9keSB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHRib2R5IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwLjVyZW07IH1cbiAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB0Ym9keSB0aCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHRib2R5IHRoLFxuICAuZGF0YS10YWJsZS1kZWZpbml0aW9uLWxpc3QgdGJvZHkgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLnRhYmxlLXdyYXBwZXIuY2FydCxcbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSxcbiAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlOmxhc3QtY2hpbGQsXG4gICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTsgfVxuICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRoZWFkLFxuICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGJvZHkgdGQsXG4gICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBwYWRkaW5nOiAwLjJyZW07IH1cbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkOmxhc3QtY2hpbGQsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGJvZHkgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Ym9keSB0ZDpiZWZvcmUsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGJvZHkgdGQ6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSBcIjogXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkLmFjdGlvbnMsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGJvZHkgdGQuYWN0aW9ucyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Ym9keSB0ZC5hY3Rpb25zOmJlZm9yZSxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Ym9keSB0ZC5hY3Rpb25zOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAvKiAxICovIH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCxcbiAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGZvb3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRmb290IHRoLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRmb290IHRoIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDcwJTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGZvb3QgdGQsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGZvb3QgdGQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGZvb3QgdHIsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGZvb3QgdHIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGQsXG4gICAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRmb290IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfSB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gdGFibGUtbW9iaWxlLWxheW91dC1ob29rKCkge1xufVxuXG5AbWl4aW4gdGFibGUtd3JhcHBlci1tb2JpbGUtbGF5b3V0LWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlL2hvb2snO1xuXG4kaGVhZF9jb2xvcjogJGNvbG9yX21pbmVzaGFmdCAhZGVmYXVsdDtcbiRoZWFkX21vdmUtb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuJGhlYWRfZm9udC1zaXplLS1tb2JpbGU6IDEuNHJlbSAhZGVmYXVsdDtcblxuQG1peGluIHRhYmxlLW1vYmlsZS1sYXlvdXQoXG4gICAgJGhlYWRfY29sb3I6ICRoZWFkX2NvbG9yLFxuICAgICRoZWFkX21vdmUtb24tbW9iaWxlOiAkaGVhZF9tb3ZlLW9uLW1vYmlsZSxcbiAgICAkaGVhZF9mb250LXNpemUtLW1vYmlsZTogJGhlYWRfZm9udC1zaXplLS1tb2JpbGVcbikge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdGJvZHkgdGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRoZWFkX2ZvbnQtc2l6ZS0tbW9iaWxlO1xuICAgICAgICBwYWRkaW5nOiAwLjJyZW07XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGhlYWRfbW92ZS1vbi1tb2JpbGUpIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSAnOiAnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZF9jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGlvbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9hbHRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0Zm9vdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZVxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGgsXG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0YWJsZS1tb2JpbGUtbGF5b3V0LWhvb2soKTtcbn1cblxuQG1peGluIHRhYmxlLXdyYXBwZXItbW9iaWxlLWxheW91dCgpIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIFRvIGhpZGUgdW5uZWNlc3NhcnkgaG9yaXpvbnRhbCBzY3JvbGxiYXIgaW4gU2FmYXJpXG5cbiAgICBAaW5jbHVkZSB0YWJsZS13cmFwcGVyLW1vYmlsZS1sYXlvdXQtaG9vaygpO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXRvb2xiYXIge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtdG9vbGJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLXRvb2xiYXJfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwIDEuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAuY3MtdG9vbGJhcl9faXRlbS0tbGltaXRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jcy10b29sYmFyX19pdGVtLS1vZmZjYW52YXMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgei1pbmRleDogMTsgfVxuICAuY3MtdG9vbGJhciAuZmllbGQgLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXRvb2xiYXIgLmNzLWh0bWwtc2VsZWN0IHtcbiAgICBtYXgtd2lkdGg6IDIwcmVtOyB9IH1cbiAgLmNzLXRvb2xiYXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07IH1cbiAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5jcy10b29sYmFyX19maWx0ZXJzLWJ1dHRvbjo6YmVmb3JlLCAuY3MtdG9vbGJhcl9fZmlsdGVycy1idXR0b246OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAuY3MtdG9vbGJhcl9fZmlsdGVycy1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy10b29sYmFyX19maWx0ZXJzLWJ1dHRvbiwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtdG9vbGJhcl9fZmlsdGVycy1idXR0b24gKiwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtdG9vbGJhcl9fZmlsdGVycy1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy10b29sYmFyX19maWx0ZXJzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGVmdDogMWVtO1xuICAgICAgbWF4LXdpZHRoOiAyLjNyZW07XG4gICAgICBtYXgtaGVpZ2h0OiAyLjNyZW07IH1cbiAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDRlbTsgfVxuXG4udG9vbGJhci1hbW91bnQge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtc29ydGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3Mtc29ydGVyX19sYWJlbCB7XG4gICAgcGFkZGluZzogMCAxcmVtIDAgMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5jcy1zb3J0ZXJfX3NlbGVjdCB7XG4gICAgd2lkdGg6IDBweDsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWxpbWl0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmNzLWxpbWl0ZXJfX2xhYmVsLFxuICAuZmllbGQgLmNzLWxpbWl0ZXJfX2xhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNzLWxpbWl0ZXJfX2xhYmVsLS1wcmVmaXgsXG4gICAgLmZpZWxkIC5jcy1saW1pdGVyX19sYWJlbC0tcHJlZml4IHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDFyZW07IH1cbiAgICAuY3MtbGltaXRlcl9fbGFiZWwtLXN1ZmZpeCxcbiAgICAuZmllbGQgLmNzLWxpbWl0ZXJfX2xhYmVsLS1zdWZmaXgge1xuICAgICAgcGFkZGluZzogMCAwIDAgMXJlbTsgfVxuICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDsgfVxuICAgIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDsgfVxuICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciwgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXI6aG92ZXIsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjpmb2N1cywgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciwgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24taXRlbS0tY3VycmVudCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXI6aG92ZXIsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOmZvY3VzLCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjphY3RpdmUge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5jcy1saW1pdGVyIC5jcy1odG1sLXNlbGVjdCxcbiAgLmNzLWxpbWl0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLFxuICAuY3MtbGltaXRlciBzZWxlY3Qge1xuICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07IH1cblxuLmNzLWRhc2hib2FyZCAubGltaXRlci1sYWJlbCxcbi5jcy1kYXNoYm9hcmQgLmxpbWl0ZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uY3MtZGFzaGJvYXJkIC5saW1pdGVyLXRleHQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5jcy1kYXNoYm9hcmQgLmxpbWl0ZXItb3B0aW9ucyB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXBhZ2luYXRpb24ge1xuICAvKipcbiAgICAgKiBJbnB1dCBtb2RlXG4gICAgICovXG4gIC8qKlxuICAgICAqIEJ1bGxldCBwb2ludHMgbW9kZVxuICAgICAqLyB9XG4gIC5jcy1wYWdpbmF0aW9uX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXBhZ2luYXRpb25fX3ByZWZpeC1sYWJlbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMXJlbSAwIDA7IH1cbiAgLmNzLXBhZ2luYXRpb25fX3BhZ2UtcHJvdmlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jcy1wYWdpbmF0aW9uX19wYWdlLXByb3ZpZGVyLWlucHV0LmlucHV0LXRleHQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtaGVpZ2h0OiAzLjVyZW07XG4gICAgd2lkdGg6IDQuNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuODVlbTsgfVxuICAuY3MtcGFnaW5hdGlvbl9fcGFnZS1wcm92aWRlci1sYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXBhZ2luYXRpb25fX2l0ZW1zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmNzLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtcGFnaW5hdGlvbl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4OyB9XG4gIC5jcy1wYWdpbmF0aW9uX19udW1iZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1wYWdpbmF0aW9uX19udW1iZXIsIC5jcy1wYWdpbmF0aW9uX19udW1iZXI6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jcy1wYWdpbmF0aW9uX19udW1iZXI6aG92ZXIsIC5jcy1wYWdpbmF0aW9uX19udW1iZXI6Zm9jdXMsIC5jcy1wYWdpbmF0aW9uX19udW1iZXI6YWN0aXZlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgfVxuICAgIC5jcy1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5jcy1wYWdpbmF0aW9uX19udW1iZXIsIC5jcy1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5jcy1wYWdpbmF0aW9uX19udW1iZXI6aG92ZXIsIC5jcy1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5jcy1wYWdpbmF0aW9uX19udW1iZXI6Zm9jdXMsIC5jcy1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5jcy1wYWdpbmF0aW9uX19udW1iZXI6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuY3MtcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmNzLXBhZ2luYXRpb25fX25leHQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cbiAgLmNzLXBhZ2luYXRpb25fX2FjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY3MtcGFnaW5hdGlvbl9fYWN0aW9uLWljb24ge1xuICAgIHdpZHRoOiAxLjNyZW07XG4gICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgZmlsbDogIzJkM2U1MDtcbiAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1wYWdpbmF0aW9uX19hY3Rpb24tLWRpc2FibGVkIC5jcy1wYWdpbmF0aW9uX19hY3Rpb24taWNvbiB7XG4gICAgICBmaWxsOiAjZGNkY2RjOyB9XG4gICAgLmNzLXBhZ2luYXRpb25fX2FjdGlvbjpub3QoLmNzLXBhZ2luYXRpb25fX2FjdGlvbi0tZGlzYWJsZWQpOmhvdmVyIC5jcy1wYWdpbmF0aW9uX19hY3Rpb24taWNvbixcbiAgICAuY3MtcGFnaW5hdGlvbl9fYWN0aW9uOm5vdCguY3MtcGFnaW5hdGlvbl9fYWN0aW9uLS1kaXNhYmxlZCk6Zm9jdXMgLmNzLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uLFxuICAgIC5jcy1wYWdpbmF0aW9uX19hY3Rpb246bm90KC5jcy1wYWdpbmF0aW9uX19hY3Rpb24tLWRpc2FibGVkKTphY3RpdmUgLmNzLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uIHtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy12aWV3bW9kZS1zd2l0Y2hlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19sYWJlbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMXJlbSAwIDA7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGVzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4OyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMy41cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuNXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuM2VtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuN2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuN2VtOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbiwgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjpob3ZlciwgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjpmb2N1cywgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjphY3RpdmUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLS1jdXJyZW50IC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1hY3Rpb24sIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS0tY3VycmVudCAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtYWN0aW9uOmhvdmVyLCAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtLWN1cnJlbnQgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjpmb2N1cywgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLS1jdXJyZW50IC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1hY3Rpb246YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtaWNvbiB7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWljb24tLWdyaWQge1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS4xcmVtOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWljb24tLWxpc3Qge1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS4xcmVtOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLS1jdXJyZW50IC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1pY29uIHtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtaWNvbiArIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuN3JlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJHRvb2xiYXJfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiR0b29sYmFyX2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcbiR0b29sYmFyX2ZsZXgtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfZmxleC13cmFwOiB3cmFwICFkZWZhdWx0O1xuJHRvb2xiYXJfZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kdG9vbGJhcl9mb250LXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdDtcbiR0b29sYmFyX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiR0b29sYmFyX2VsZW1lbnRzLXBhZGRpbmctdGFibGV0LXVwOiAwICFkZWZhdWx0O1xuJHRvb2xiYXJfZWxlbWVudHMtbWFyZ2luOiAwIDAgMS41cmVtICFkZWZhdWx0O1xuJHRvb2xiYXJfZWxlbWVudHMtbWFyZ2luLXRhYmxldC11cDogMCAwIDEuNXJlbSAhZGVmYXVsdDtcblxuJHRvb2xiYXJfc2VsZWN0LW1pbi1oZWlnaHQ6IDMuNXJlbSAhZGVmYXVsdDtcbiR0b29sYmFyX2lucHV0LW1heC1oZWlnaHQ6ICR0b29sYmFyX3NlbGVjdC1taW4taGVpZ2h0ICFkZWZhdWx0O1xuXG4kdG9vbGJhcl9zZWxlY3RzLW1heC13aWR0aC10YWJsZXQ6IDIwcmVtICFkZWZhdWx0OyAvLyBzZXQgJ25vbmUnIHRvIGRpc2FibGVcblxuJHRvb2xiYXJfY29tcG9uZW50cy1hbGlnbm1lbnQ6IChcbiAgICBhbW91bnQ6IGxlZnQsXG4gICAgc29ydGVyOiBsZWZ0LFxuICAgIGxpbWl0ZXI6IGxlZnQsXG4gICAgdmlld21vZGUtc3dpdGNoZXI6IGxlZnQsXG4gICAgcGFnaW5hdGlvbjogcmlnaHQsXG4pICFkZWZhdWx0O1xuXG4kdG9vbGJhcl9hbW91bnQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9zb3J0ZXItYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9saW1pdGVyLWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfdmlld21vZGUtc3dpdGNoZXItYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9wYWdpbmF0aW9uLWFsaWduOiByaWdodCAhZGVmYXVsdDtcblxuJHRvb2xiYXJfZmlsdGVycy1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kdG9vbGJhcl9maWx0ZXJzLWJ1dHRvbi1pY29uLXBvczogJ2xlZnQnICFkZWZhdWx0O1xuXG4uI3skbnN9dG9vbGJhciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBmb250LXNpemU6ICR0b29sYmFyX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRvb2xiYXJfZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0b29sYmFyX3RleHQtdHJhbnNmb3JtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiAkdG9vbGJhcl9kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAkdG9vbGJhcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICR0b29sYmFyX2ZsZXgtYWxpZ24taXRlbXM7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR0b29sYmFyX2ZsZXgtanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgZmxleC13cmFwOiAkdG9vbGJhcl9mbGV4LXdyYXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46ICR0b29sYmFyX2VsZW1lbnRzLW1hcmdpbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW46ICR0b29sYmFyX2VsZW1lbnRzLW1hcmdpbi10YWJsZXQtdXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdG9vbGJhcl9lbGVtZW50cy1wYWRkaW5nLXRhYmxldC11cDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbW9kaWZpZXIsICR2YWx1ZSBpbiAkdG9vbGJhcl9jb21wb25lbnRzLWFsaWdubWVudCB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlID09IHJpZ2h0IHtcbiAgICAgICAgICAgICAgICAmLS0jeyRtb2RpZmllcn0ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJHRvb2xiYXJfZGlzcGxheSA9PSBmbGV4IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbWl0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1vZmZjYW52YXMge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZCAubGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogJHRvb2xiYXJfZm9udC13ZWlnaHQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC4jeyRuc31odG1sLXNlbGVjdCB7XG4gICAgICAgIEBpZiAkdG9vbGJhcl9zZWxlY3RzLW1heC13aWR0aC10YWJsZXQgIT0gbm9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR0b29sYmFyX3NlbGVjdHMtbWF4LXdpZHRoLXRhYmxldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RyaWdnZXIge1xuICAgICAgICAgICAgbWluLWhlaWdodDogJHRvb2xiYXJfc2VsZWN0LW1pbi1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWx0ZXJzLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkdG9vbGJhcl9maWx0ZXJzLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkdG9vbGJhcl9maWx0ZXJzLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJHRvb2xiYXJfZmlsdGVycy1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICR0b29sYmFyX2ZpbHRlcnMtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIuM3JlbTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIuM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbHRlcnMtYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJHRvb2xiYXJfZmlsdGVycy1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHRvb2xiYXJfZmlsdGVycy1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9hbW91bnQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvc29ydGVyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL2xpbWl0ZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvcGFnaW5hdGlvbi5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci92aWV3bW9kZS1zd2l0Y2hlci5zY3NzJztcbiIsIi50b29sYmFyLWFtb3VudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kc29ydGVyX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29ydGVyX2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcblxuJHNvcnRlcl9sYWJlbC1wYWRkaW5nOiAwIDFyZW0gMCAwICFkZWZhdWx0O1xuJHNvcnRlcl9sYWJlbC13aGl0ZS1zcGFjZTogbm93cmFwICFkZWZhdWx0O1xuXG4uI3skbnN9c29ydGVyIHtcbiAgICBkaXNwbGF5OiAkc29ydGVyX2Rpc3BsYXk7XG5cbiAgICBAaWYgJHNvcnRlcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICBhbGlnbi1pdGVtczogJHNvcnRlcl9mbGV4LWFsaWduLWl0ZW1zO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgcGFkZGluZzogJHNvcnRlcl9sYWJlbC1wYWRkaW5nO1xuICAgICAgICB3aGl0ZS1zcGFjZTogJHNvcnRlcl9sYWJlbC13aGl0ZS1zcGFjZTtcbiAgICB9XG5cbiAgICAmX19zZWxlY3Qge1xuICAgICAgICB3aWR0aDogMHB4O1xuICAgIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gcGFnaW5hdGlvbi1saXN0LWhvb2soKSB7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0taG9vaygpIHtcbn1cblxuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyLWhvb2soKSB7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudC1ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9taXhpbnMuc2Nzcyc7XG5cbiRsaW1pdGVyX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kbGltaXRlcl9mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbiRsaW1pdGVyX2xhYmVscy13aGl0ZS1zcGFjZTogbm93cmFwICFkZWZhdWx0O1xuJGxpbWl0ZXJfbWFyZ2luOiAwIDFyZW0gMCAwO1xuJGxpbWl0ZXJfcHJlZml4LWxhYmVsLXBhZGRpbmc6IDAgMXJlbSAwIDFyZW0gIWRlZmF1bHQ7XG4kbGltaXRlcl9zdWZmaXgtbGFiZWwtcGFkZGluZzogMCAwIDAgMXJlbSAhZGVmYXVsdDtcblxuJHNvcnRlcl9zZWxlY3QtbWluLWhlaWdodDogJHRvb2xiYXJfc2VsZWN0LW1pbi1oZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc31saW1pdGVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6ICRsaW1pdGVyX2Rpc3BsYXk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogJGxpbWl0ZXJfbWFyZ2luO1xuXG4gICAgQGlmICRsaW1pdGVyX2Rpc3BsYXkgPT0gZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkbGltaXRlcl9mbGV4LWFsaWduLWl0ZW1zO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgICYsXG4gICAgICAgIC5maWVsZCAmIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiAkbGltaXRlcl9sYWJlbHMtd2hpdGUtc3BhY2U7XG5cbiAgICAgICAgICAgICYtLXByZWZpeCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxpbWl0ZXJfcHJlZml4LWxhYmVsLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXN1ZmZpeCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxpbWl0ZXJfc3VmZml4LWxhYmVsLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1saXN0KCk7XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbi1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtKCk7XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbi1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlcigpO1xuXG4gICAgICAgICN7JHJvb3R9X19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLiN7JG5zfWh0bWwtc2VsZWN0LFxuICAgIC4jeyRuc31odG1sLXNlbGVjdF9fdHJpZ2dlcixcbiAgICBzZWxlY3Qge1xuICAgICAgICBtaW4td2lkdGg6IDNyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRzb3J0ZXJfc2VsZWN0LW1pbi1oZWlnaHQ7XG4gICAgfVxufVxuXG4vL3VzZXIgYXJlYSBsaW1pdGVyIGFmdGVyIHJlZmFjdG9yXG5cbi4jeyRuc31kYXNoYm9hcmQge1xuICAgIC5saW1pdGVyLWxhYmVsLFxuICAgIC5saW1pdGVyLXRleHQge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmxpbWl0ZXItdGV4dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmxpbWl0ZXItb3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9ob29rcy5zY3NzJztcblxuJHBhZ2luYXRpb24tbGlzdF9kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGlzdF9mbGV4LWFsaWduLWl0ZW1zOiBzdHJldGNoICFkZWZhdWx0O1xuQG1peGluIHBhZ2luYXRpb24tbGlzdCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIGRpc3BsYXk6ICRwYWdpbmF0aW9uLWxpc3RfZGlzcGxheTtcblxuICAgIEBpZiAkbGltaXRlcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICBhbGlnbi1pdGVtczogJHBhZ2luYXRpb24tbGlzdF9mbGV4LWFsaWduLWl0ZW1zO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbGlzdC1ob29rKCk7XG59XG5cbiRwYWdpbmF0aW9uLWl0ZW1fbWFyZ2luOiAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyLWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyOiAkcGFnaW5hdGlvbi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRwYWdpbmF0aW9uLWl0ZW0tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9yb3VuZC1lZGdlczogdHJ1ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9hcy1jaXJjbGU6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtIHtcbiAgICBtYXJnaW46ICRwYWdpbmF0aW9uLWl0ZW1fbWFyZ2luO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW1fcGFkZGluZztcbiAgICBib3JkZXI6ICRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1pdGVtX21hcmdpbiA9PVxuICAgICAgICAwIGFuZFxuICAgICAgICAkcGFnaW5hdGlvbi1pdGVtX2JvcmRlci13aWR0aCAhPVxuICAgICAgICAwIGFuZFxuICAgICAgICAkcGFnaW5hdGlvbi1pdGVtX2JvcmRlciAhPVxuICAgICAgICBub25lXG4gICAge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSN7JHBhZ2luYXRpb24taXRlbV9ib3JkZXItd2lkdGh9O1xuICAgIH1cblxuICAgIEBpZiAkcGFnaW5hdGlvbi1pdGVtX3JvdW5kLWVkZ2VzIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHBhZ2luYXRpb24taXRlbV9yb3VuZC1lZGdlcy1yYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWdpbmF0aW9uLWl0ZW1fYXMtY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1ob29rKCk7XG59XG5cbiRwYWdpbmF0aW9uLW51bWJlcl9taW4td2lkdGg6IDMuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1udW1iZXJfbWluLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX3BhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX2NvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXJfdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX3RyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfYmFja2dyb3VuZDogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0ICFkZWZhdWx0O1xuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAkcGFnaW5hdGlvbi1udW1iZXJfbWluLXdpZHRoO1xuICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24tbnVtYmVyX3BhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbnVtYmVyX2JhY2tncm91bmQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tbnVtYmVyX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbnVtYmVyX2ZvbnQtd2VpZ2h0O1xuICAgIHRyYW5zaXRpb246ICRwYWdpbmF0aW9uLW51bWJlcl90cmFuc2l0aW9uO1xuXG4gICAgJixcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyX2NvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLW51bWJlcl90ZXh0LWRlY29yYXRpb247XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyLS1ob3Zlcl9jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbnVtYmVyLS1ob3Zlcl9iYWNrZ3JvdW5kO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfdGV4dC1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyLWhvb2soKTtcbn1cblxuJHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50X2NvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50IHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudF9iYWNrZ3JvdW5kO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnQtaG9vaygpO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL21peGlucy5zY3NzJztcblxuJHBhZ2luYXRpb25fY29udGVudC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb25fY29udGVudC1mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uX3ByZWZpeC1sYWJlbC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9wcmVmaXgtbGFiZWwtcGFkZGluZzogMCAxcmVtIDAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb25fcGFnZS1wcm92aWRlci1pbnB1dC13aWR0aDogNC41ZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9wYWdlLXByb3ZpZGVyLWlucHV0LWZvbnQtc2l6ZTogMC44NWVtICFkZWZhdWx0O1xuXG4vLyBwcmV2L25leHQgYXJyb3dzXG4kcGFnaW5hdGlvbl9hY3Rpb24tZ3V0dGVyOiAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9hY3Rpb24taWNvbi13aWR0aDogMS4zcmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb25fYWN0aW9uLWljb24taGVpZ2h0OiAyLjRyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9hY3Rpb24taWNvbi1maWxsOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9hY3Rpb24taWNvbi10cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGlvbi0taG92ZXJfaWNvbi1maWxsOiAkY29sb3JfdG9yZWEtYmF5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aW9uLS1kaXNhYmxlZF9pY29uLWZpbGw6ICRjb2xvcl9hbHRvICFkZWZhdWx0O1xuXG4uI3skbnN9cGFnaW5hdGlvbiB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogJHBhZ2luYXRpb25fY29udGVudC1kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAkbGltaXRlcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRwYWdpbmF0aW9uX2NvbnRlbnQtZmxleC1hbGlnbi1pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZWZpeC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogJHBhZ2luYXRpb25fcHJlZml4LWxhYmVsLW1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogJHBhZ2luYXRpb25fcHJlZml4LWxhYmVsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5wdXQgbW9kZVxuICAgICAqL1xuICAgICZfX3BhZ2UtcHJvdmlkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fcGFnZS1wcm92aWRlci1pbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAkdG9vbGJhcl9pbnB1dC1tYXgtaGVpZ2h0OyAvLyB2YXIgaW5oZXJpdGVkIGZyb20gLi90b29sYmFyXG4gICAgICAgIHdpZHRoOiAkcGFnaW5hdGlvbl9wYWdlLXByb3ZpZGVyLWlucHV0LXdpZHRoO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb25fcGFnZS1wcm92aWRlci1pbnB1dC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fcGFnZS1wcm92aWRlci1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCdWxsZXQgcG9pbnRzIG1vZGVcbiAgICAgKi9cbiAgICAmX19pdGVtcyB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbGlzdCgpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0oKTtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlcigpO1xuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1jdXJyZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZXYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwYWdpbmF0aW9uX2FjdGlvbi1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJl9fbmV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkcGFnaW5hdGlvbl9hY3Rpb24tZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1pbi13aWR0aDogJHBhZ2luYXRpb24tbnVtYmVyX21pbi13aWR0aDsgLy8gdmFyIGluaGVyaXRlZCBmcm9tIC4vbWl4aW5zXG4gICAgICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0OyAvLyB2YXIgaW5oZXJpdGVkIGZyb20gLi9taXhpbnNcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWljb24ge1xuICAgICAgICB3aWR0aDogJHBhZ2luYXRpb25fYWN0aW9uLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJHBhZ2luYXRpb25fYWN0aW9uLWljb24taGVpZ2h0O1xuICAgICAgICBmaWxsOiAkcGFnaW5hdGlvbl9hY3Rpb24taWNvbi1maWxsO1xuICAgICAgICB0cmFuc2l0aW9uOiAkcGFnaW5hdGlvbl9hY3Rpb24taWNvbi10cmFuc2l0aW9uO1xuXG4gICAgICAgICN7JHJvb3R9X19hY3Rpb24tLWRpc2FibGVkICYge1xuICAgICAgICAgICAgZmlsbDogJHBhZ2luYXRpb24tYWN0aW9uLS1kaXNhYmxlZF9pY29uLWZpbGw7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fYWN0aW9uOm5vdCgjeyRyb290fV9fYWN0aW9uLS1kaXNhYmxlZCk6aG92ZXIgJixcbiAgICAgICAgI3skcm9vdH1fX2FjdGlvbjpub3QoI3skcm9vdH1fX2FjdGlvbi0tZGlzYWJsZWQpOmZvY3VzICYsXG4gICAgICAgICN7JHJvb3R9X19hY3Rpb246bm90KCN7JHJvb3R9X19hY3Rpb24tLWRpc2FibGVkKTphY3RpdmUgJiB7XG4gICAgICAgICAgICBmaWxsOiAkcGFnaW5hdGlvbi1hY3Rpb24tLWhvdmVyX2ljb24tZmlsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvbWl4aW5zLnNjc3MnO1xuXG4kdmlld21vZGUtc3dpdGNoZXJfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiR2aWV3bW9kZS1zd2l0Y2hlcl9mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kdmlld21vZGUtc3dpdGNoZXJfY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJHZpZXdtb2RlLXN3aXRjaGVyX2xhYmVsLXBhZGRpbmc6IDAgMXJlbSAwIDAgIWRlZmF1bHQ7XG5cbiR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24teC1heGlzLXBhZGRpbmc6IDAuN2VtICFkZWZhdWx0O1xuXG4kdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZmlsbDogY3VycmVudENvbG9yICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLS1jdXJyZW50LWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWdyaWQtd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1ncmlkLWhlaWdodDogMS4xcmVtICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3Qtd2lkdGg6ICR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1ncmlkLXdpZHRoICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3QtaGVpZ2h0OiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZ3JpZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc312aWV3bW9kZS1zd2l0Y2hlciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBkaXNwbGF5OiAkdmlld21vZGUtc3dpdGNoZXJfZGlzcGxheTtcblxuICAgIEBpZiAkc29ydGVyX2Rpc3BsYXkgPT0gZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkdmlld21vZGUtc3dpdGNoZXJfZmxleC1hbGlnbi1pdGVtcztcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJHZpZXdtb2RlLXN3aXRjaGVyX2xhYmVsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fbW9kZXMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbGlzdCgpO1xuICAgIH1cblxuICAgICZfX21vZGUge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0oKTtcbiAgICB9XG5cbiAgICAmX19tb2RlLWFjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyKCk7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBzZXQgaGVpZ2h0IGV4cGxpY2l0bHkgZm9yIElFXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi14LWF4aXMtcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi14LWF4aXMtcGFkZGluZztcblxuICAgICAgICAjeyRyb290fV9fbW9kZS0tY3VycmVudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tb2RlLWljb24ge1xuICAgICAgICBmaWxsOiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZmlsbDtcblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgIHdpZHRoOiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZ3JpZC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWdyaWQtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3Qtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1saXN0LWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19tb2RlLS1jdXJyZW50ICYge1xuICAgICAgICAgICAgZmlsbDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLS1jdXJyZW50LWZpbGw7XG4gICAgICAgIH1cblxuICAgICAgICArICN7JHJvb3R9X19tb2RlLWxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4uY3MtY2FwdGNoYV9faW1hZ2UtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmNzLWNhcHRjaGFfX2ltYWdlLWNvbnRyb2xzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmNzLWNhcHRjaGFfX2ltYWdlLWNvbnRyb2xzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtY2FwdGNoYV9faW1hZ2UtY29udHJvbHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuLmNzLWNhcHRjaGFfX2ltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi5jcy1jYXB0Y2hhX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTsgfVxuICAuY3MtY2FwdGNoYV9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbiwgLmNzLWNhcHRjaGFfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWNhcHRjaGFfX2J1dHRvbiAqLCAuY3MtY2FwdGNoYV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1jYXB0Y2hhX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2FwdGNoYV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLWNhcHRjaGFfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNhcHRjaGFfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNhcHRjaGFfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1jYXB0Y2hhX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuY3MtY2FwdGNoYV9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5jcy1jYXB0Y2hhX19idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4uY3MtY2FwdGNoYV9fbm90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgcGFkZGluZzogMC4zZW0gMCAwO1xuICBjb2xvcjogIzY5Njk2OTsgfVxuXG4uY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuXG4kY2FwdGNoYV9idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kY2FwdGNoYV9idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuLiN7JG5zfWNhcHRjaGEge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9faW1hZ2UtY29udHJvbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuXG4gICAgICAgIC4jeyRuc31kYXNoYm9hcmQgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGNhcHRjaGFfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjYXB0Y2hhX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIC4jeyRuc31kYXNoYm9hcmQgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRjYXB0Y2hhX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY2FwdGNoYV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICAuI3skbnN9ZGFzaGJvYXJkICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUNFQTtBQ0ZBOzs7QURNQTtBRElBO0FBZ0JBOztBQ2hCQTtBRFZBOztBQ2FBO0FDYkE7OztBRGlCQTtBRFBBO0FBZ0JBOztBQ0xBO0FFZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QUNrQ0E7QUNsQ0E7OztBRHNDQTtBRDVCQTtBQWdCQTs7QUNnQkE7QUQxQ0E7O0FDNkNBO0FDN0NBOzs7QURpREE7QUR2Q0E7QUFnQkE7O0FDMkJBO0FFL0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FDa0VBO0FDbEVBOzs7QURzRUE7QUQ1REE7QUFnQkE7O0FDZ0RBO0FEMUVBOztBQzZFQTtBQzdFQTs7O0FEaUZBO0FEdkVBO0FBZ0JBOztBQzJEQTtBRS9FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBQ2tHQTtBQ2xHQTs7O0FEc0dBO0FENUZBO0FBZ0JBOztBQ2dGQTtBRDFHQTs7QUM2R0E7QUM3R0E7OztBRGlIQTtBRHZHQTtBQWdCQTs7QUMyRkE7QUUvR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7OztBQUdBO0FBQ0E7QUFFQTtBQ2pCQTtBRG1CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7QUFJQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQURBO0FBS0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBUUE7QUFUQTtBQUlBO0FBQ0E7QUFDQTtBQU5BO0FBY0E7QUFDQTtBRTFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7OztBQUdBO0FBQ0E7QUFFQTtBRG5CQTtBQ3FCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7QUFJQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQURBO0FBS0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBUUE7QUFUQTtBQUlBO0FBQ0E7QUFDQTtBQU5BO0FBY0E7O0FObkVBOztBT0VBO0FMRkE7OztBS01BO0FQSUE7QUFnQkE7O0FPaEJBO0FDbWlCQTtBQzFpQkE7QUFFQTtBQUFBO0FBQ0E7QUR1aUJBO0FDcGlCQTtBQUVBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FUL0JBOztBT3VDQTtBTHZDQTs7O0FLMkNBO0FQakNBO0FBZ0JBOztBT3FCQTtBUC9DQTs7QU9rREE7QUxsREE7OztBS3NEQTtBUDVDQTtBQWdCQTs7QU9nQ0E7QUpwREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QU91RUE7QUx2RUE7OztBSzJFQTtBUGpFQTtBQWdCQTs7QU9xREE7QVAvRUE7O0FPa0ZBO0FMbEZBOzs7QUtzRkE7QVA1RUE7QUFnQkE7O0FPZ0VBO0FQMUZBOztBTzZGQTtBTDdGQTs7O0FLaUdBO0FQdkZBO0FBZ0JBOztBTzJFQTtBSi9GQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBT2JBOztBSGdIQTtBRzVHQTs7O0FIZ0hBO0FHdkdBOzs7QUgyR0E7QUdqR0E7O0FIb0dBO0FQN0hBOztBT2dJQTtBTGhJQTs7O0FLb0lBO0FQMUhBO0FBZ0JBOztBTzhHQTtBUHhJQTs7QU8ySUE7QUwzSUE7OztBSytJQTtBUHJJQTtBQWdCQTs7QU95SEE7QUo3SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QU9nS0E7QUxoS0E7OztBS29LQTtBUDFKQTtBQWdCQTs7QU84SUE7QVB4S0E7O0FPMktBO0FMM0tBOzs7QUsrS0E7QVByS0E7QUFnQkE7O0FPeUpBO0FQbkxBOztBT3NMQTtBTHRMQTs7O0FLMExBO0FQaExBO0FBZ0JBOztBT29LQTtBSnhMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBT2JBOztBSHlNQTtBR3JNQTs7O0FIeU1BO0FHaE1BOzs7QUhvTUE7QUcxTEE7O0FINkxBO0FJbE5BO0FET0E7QUFDQTtBQ0pBO0FBQ0E7QUFDQTtBQUVBO0FEaUJBO0FBQ0E7QUFDQTtBQ2pCQTtBQUZBO0FBTUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBSG9oQkE7QUdyaEJBO0FBSUE7QUhpaEJBO0FHcmhCQTtBQVFBO0FINmdCQTtBR3JoQkE7QUFZQTtBQUlBO0FBQ0E7QUFDQTtBSG1nQkE7QUdyZ0JBO0FBS0E7QUhnZ0JBO0FHcmdCQTtBQVNBO0FINGZBO0FHcmdCQTtBQWFBO0FBQ0E7QUh1ZkE7QUdwZkE7QUFFQTtBQUtBO0FBQ0E7QUg0ZUE7QUc3ZUE7QUFJQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUhpZUE7QUduZUE7QUFLQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUExRkE7QURPQTtBQUNBO0FFQUE7QUFDQTtBQUNBO0FERkE7QURpQkE7QUFDQTtBQUNBO0FFYkE7QUROQTtBQ1VBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FKK2dCQTtBSWxoQkE7QUFNQTtBQU5BO0FBVUE7QURiQTtBQ21CQTtBSmtnQkE7QUdyaEJBO0FDc0JBO0FKK2ZBO0FHcmhCQTtBQzBCQTtBSjJmQTtBR3JoQkE7QUM4QkE7QURkQTtBQ21CQTtBQUNBO0FKaWZBO0FHcmdCQTtBQ3VCQTtBSjhlQTtBR3JnQkE7QUMyQkE7QUowZUE7QUdyZ0JBO0FDK0JBO0FBQ0E7QUFDQTtBSm9lQTtBSTlkQTtBQUVBO0FBQ0E7QUoyZEE7QUdwZkE7QUMrQkE7QUFLQTtBQWtCQTtBSjhiQTtBSWhkQTtBQUlBO0FBQ0E7QUFDQTtBSjBjQTtBSWhkQTtBQVVBO0FBVkE7QUFjQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUp5YkE7QUkzYkE7QUFLQTtBQUNBO0FEeERBO0FDNkRBO0FKZ2JBO0FHN2VBO0FDZ0VBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBRDlEQTtBQ2tFQTtBQUNBO0FKZ2FBO0FHbmVBO0FDc0VBO0FBQ0E7QUo0WkE7QUl6WkE7O0FBR0E7QUFLQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBRDVGQTtBQ2dHQTtBSnlYQTtBSXRYQTtBQUVBO0FBSUE7QUFFQTtBQUlBO0FBSUE7QUFDQTtBSnFXQTtBSTFXQTtBQVFBO0FBQ0E7QUFDQTtBSmdXQTtBSTdWQTtBQUVBO0FBQ0E7QUQzSEE7QUNnSUE7QUQ1SEE7QUNnSUE7QUppVkE7QUk5VUE7QUFFQTtBQUlBO0FBRUE7QUFDQTtBQUhBO0FBT0E7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQW5GQTtBQXFGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QVpuUUE7O0FPdWJBO0FMdmJBOzs7QUsyYkE7QVBqYkE7QUFnQkE7O0FPcWFBO0FQL2JBOztBT2tjQTtBTGxjQTs7O0FLc2NBO0FQNWJBO0FBZ0JBOztBT2diQTtBSnBjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBT3VkQTtBTHZkQTs7O0FLMmRBO0FQamRBO0FBZ0JBOztBT3FjQTtBUC9kQTs7QU9rZUE7QUxsZUE7OztBS3NlQTtBUDVkQTtBQWdCQTs7QU9nZEE7QUpwZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FPeWZBO0FMemZBOzs7QUs2ZkE7QVBuZkE7QUFnQkE7O0FPdWVBO0FQamdCQTs7QU9vZ0JBO0FMcGdCQTs7O0FLd2dCQTtBUDlmQTtBQWdCQTs7QU9rZkE7QUp0Z0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FPeWhCQTtBTHpoQkE7OztBSzZoQkE7QVBuaEJBO0FBZ0JBOztBT3VnQkE7QVBqaUJBOztBT29pQkE7QUxwaUJBOzs7QUt3aUJBO0FQOWhCQTtBQWdCQTs7QU9raEJBO0FKdGlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QU8yakJBO0FMM2pCQTs7O0FLK2pCQTtBUHJqQkE7QUFnQkE7O0FPeWlCQTtBUG5rQkE7O0FPc2tCQTtBTHRrQkE7OztBSzBrQkE7QVBoa0JBO0FBZ0JBOztBT29qQkE7QUp4a0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FXVEE7O0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBTmloQkE7QU1uaEJBO0FBS0E7QUFDQTtBQUNBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjZmQTtBTWpnQkE7QUFPQTtBQUNBO0FBR0E7QUFDQTtBTnFmQTtBTXRmQTtBQUlBO0FBQ0E7QUFHQTtBQUVBO0FONGVBO0FNOWVBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QU5zZUE7QU05ZUE7QUFZQTtBQUNBO0FOaWVBO0FNNWRBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUNoREE7QUFDQTtBQUNBO0FEOENBO0FDdkNBO0FBQ0E7QUFDQTtBRDRDQTtBQUNBO0FBQ0E7QU55Y0E7QU10Y0E7QUFFQTtBQUNBO0FObWNBO0FNaGNBO0FBR0E7QUFIQTtBQU9BO0FBQ0E7QU53YkE7QU1oY0E7QUFZQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOOFpBO0FNbmFBO0FBUUE7QUFSQTtBQVlBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FONllBO0FNblpBO0FBU0E7QUFUQTtBQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU44WEE7QU1uWkE7QUF3QkE7QUF4QkE7QUE0QkE7QUFJQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBTjhXQTtBTW5YQTs7QUFRQTtBTjJXQTtBTW5YQTs7QUFZQTtBQVpBOzs7QUFpQkE7QUFDQTtBQUNBO0FOZ1dBO0FNblhBOzs7QUFzQkE7QUFDQTtBQUNBO0FBQ0E7QU4wVkE7QU1uWEE7OztBQTZCQTtBQTdCQTs7QUFrQ0E7QU5pVkE7QU1uWEE7O0FBb0NBO0FOK1VBO0FNblhBOztBQXdDQTtBQUNBO0FOMFVBO0FNblhBOztBQTZDQTtBTnNVQTtBTW5YQTs7QUFtREE7QU5nVUE7QU0xVEE7QUFJQTtBQUNBOztBZHhQQTs7QWdCRUE7QWRGQTs7O0FjTUE7QWhCSUE7QUFnQkE7O0FnQmhCQTtBaEJWQTs7QWdCYUE7QWRiQTs7O0FjaUJBO0FoQlBBO0FBZ0JBOztBZ0JMQTtBYmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FnQmtDQTtBZGxDQTs7O0Fjc0NBO0FoQjVCQTtBQWdCQTs7QWdCZ0JBO0FoQjFDQTs7QWdCNkNBO0FkN0NBOzs7QWNpREE7QWhCdkNBO0FBZ0JBOztBZ0IyQkE7QWhCckRBOztBZ0J3REE7QWR4REE7OztBYzREQTtBaEJsREE7QUFnQkE7O0FnQnNDQTtBYjFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QWdCK0VBO0FkL0VBOzs7QWNtRkE7QWhCekVBO0FBZ0JBOztBZ0I2REE7QWhCdkZBOztBZ0IwRkE7QWQxRkE7OztBYzhGQTtBaEJwRkE7QUFnQkE7O0FnQndFQTtBYjVGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBZ0IrR0E7QWQvR0E7OztBY21IQTtBaEJ6R0E7QUFnQkE7O0FnQjZGQTtBaEJ2SEE7O0FnQjBIQTtBZDFIQTs7O0FjOEhBO0FoQnBIQTtBQWdCQTs7QWdCd0dBO0FiNUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBZ0JpSkE7QWRqSkE7OztBY3FKQTtBaEIzSUE7QUFnQkE7O0FnQitIQTtBaEJ6SkE7O0FnQjRKQTtBZDVKQTs7O0FjZ0tBO0FoQnRKQTtBQWdCQTs7QWdCMElBO0FiOUpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FjSEE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FUMGhCQTtBU2ppQkE7QUFVQTtBQUNBO0FBWEE7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQVFBO0FBQ0E7QUFUQTtBRlFBO0FBQ0E7QUVUQTtBRmlCQTtBQUNBO0FFbEJBO0FBY0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7O0FqQjdEQTs7QWtCRUE7QWhCRkE7OztBZ0JNQTtBbEJJQTtBQWdCQTs7QWtCaEJBO0FsQlZBOztBa0JhQTtBaEJiQTs7O0FnQmlCQTtBbEJQQTtBQWdCQTs7QWtCTEE7QWZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBa0JrQ0E7QWhCbENBOzs7QWdCc0NBO0FsQjVCQTtBQWdCQTs7QWtCZ0JBO0FsQjFDQTs7QWtCNkNBO0FoQjdDQTs7O0FnQmlEQTtBbEJ2Q0E7QUFnQkE7O0FrQjJCQTtBZi9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBT2JBOztBUWdFQTtBUjVEQTs7O0FRZ0VBO0FSdkRBOzs7QVEyREE7QVJqREE7O0FRb0RBO0FDN0VBOzs7Ozs7OztBRHNGQTtBRXRGQTtBQVNBO0FwQlRBOztBa0IyRkE7QWhCM0ZBOzs7QWdCK0ZBO0FsQnJGQTtBQWdCQTs7QWtCeUVBO0FHckVBO0FBa1dBO0FBK0NBO0FBOVlBO0FBRUE7QUFTQTtBQzhDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBRDlEQTtBRTdCQTtBRjZCQTtBRXRCQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FGZUE7QUVMQTtBQUNBO0FBQ0E7QUFJQTtBRkRBO0FFdUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRjVCQTtBRW9DQTtBRnBDQTtBQ3FJQTtBQUNBO0FBQ0E7QUR2SUE7QUM2SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBRHZKQTtBQzBKQTtBQUNBO0FEM0pBO0FDZ05BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBRHhOQTtBQzJOQTtBQUNBO0FENU5BO0FDNlFBO0FBQ0E7QUQ5UUE7QUFPQTtBQVBBO0FBZUE7QUFmQTtBQW9CQTtBQXBCQTtBQXlCQTtBQXpCQTtBQThCQTtBQU1BO0FDb1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFjQTtBRHBRQTtBQUdBO0FDeVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FEMVVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUVBO0FBR0E7QUFDQTtBQUdBO0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUlBO0FBR0E7QUFFQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FYdExBO0FBQ0E7QUFDQTtBV3VMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVpBO0FBZUE7QUFmQTtBQW9CQTtBQU9BOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBWkE7QUFnQkE7QUFJQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FiK1JBO0FhbFNBO0FBTUE7QWI0UkE7QWFsU0E7QUFVQTtBQUNBO0FBWEE7QUFlQTtBQUNBO0FBMUJBO0FBK0JBO0FBQ0E7QUFJQTtBQUdBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFIQTtBQU1BO0FBQUE7QUFLQTtBQUVBO0FBRkE7QUFNQTtBQU5BO0FBU0E7QUFTQTtBQUVBO0FBRkE7QUFNQTtBQUNBO0FBSUE7QUFFQTtBQUZBO0FBTUE7QUFDQTtBQUlBOztBQUdBO0FBSEE7QUFPQTtBQVBBO0FBV0E7QUFYQTtBQWVBO0FBZkE7O0FBcUJBO0FBRUE7QUF2QkE7O0FBNEJBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBVEE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQWRBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUE5WUE7QUFvWkE7O0FyQmxiQTs7QXdCRUE7QXRCRkE7OztBc0JNQTtBeEJJQTtBQWdCQTs7QXdCaEJBO0F4QlZBOztBd0JhQTtBdEJiQTs7O0FzQmlCQTtBeEJQQTtBQWdCQTs7QXdCTEE7QXJCZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXdCa0NBO0F0QmxDQTs7O0FzQnNDQTtBeEI1QkE7QUFnQkE7O0F3QmdCQTtBeEIxQ0E7O0F3QjZDQTtBdEI3Q0E7OztBc0JpREE7QXhCdkNBO0FBZ0JBOztBd0IyQkE7QXhCckRBOztBd0J3REE7QXRCeERBOzs7QXNCNERBO0F4QmxEQTtBQWdCQTs7QXdCc0NBO0FyQjFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBc0JmQTtBQVNBO0FDVEE7Ozs7QUZpRkE7QUdoQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQTBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5CMGRBO0FtQjVmQTtBQW9DQTtBQXBDQTtBQXlDQTtBQUNBO0FBMUNBO0FBOENBO0FBOUNBO0FBa0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXZEQTtBQTJEQTtBQUNBO0FBNURBO0FBZ0VBO0FBQ0E7QUFqRUE7QUFvRUE7QUFDQTtBQUNBO0FBQ0E7QUF2RUE7QUEyRUE7QUEzRUE7QUFnRkE7QUFDQTtBQWpGQTtBQXFGQTtBQUNBO0FBQ0E7QUF2RkE7QUEyRkE7QUEzRkE7QUFnR0E7QUFoR0E7QUFtR0E7QUFDQTtBQUNBO0FBQ0E7QUF0R0E7QUEyR0E7QUFDQTtBQUNBO0FBQ0E7QUE5R0E7QUFvSEE7QUFDQTtBQUNBO0FBdEhBO0FBMkhBO0FBM0hBO0FBZ0lBO0FBaElBO0FBbUlBO0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FDaEtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEb0pBO0FBSUE7QUFHQTtBQ3JJQTtBQUNBO0FEb0lBO0FDcEdBO0FEb0dBO0FDakdBO0FEeUdBO0FDbEpBO0FBQ0E7QURpSkE7QUM1R0E7QUQ0R0E7QUN6R0E7QURrSEE7QUNySEE7QURxSEE7QUNsSEE7QXBCZ2NBO0FtQjlVQTtBQUlBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBTEE7QUFTQTtBQVRBO0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUFvQkE7QUFwQkE7QUF3QkE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBWUE7QUFaQTtBQWlCQTs7QUV2UkE7QTdCQUE7O0E2QkdBO0EzQkhBOzs7QTJCT0E7QTdCR0E7QUFnQkE7O0E2QmZBO0E3QlhBOztBNkJjQTtBM0JkQTs7O0EyQmtCQTtBN0JSQTtBQWdCQTs7QTZCSkE7QTFCaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E2Qm1DQTtBM0JuQ0E7OztBMkJ1Q0E7QTdCN0JBO0FBZ0JBOztBNkJpQkE7QUMzQ0E7O0FEOENBO0EzQjlDQTs7O0EyQmtEQTtBRXBCQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FEL0JBO0FBQ0E7QUFDQTtBQ2lDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBU0E7QUFDQTtBQUNBO0FBWEE7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQU5BO0FBVUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0F2QndjQTtBdUIzY0E7QUFNQTtBQUNBOztBL0J6R0E7O0FnQ0VBO0E5QkZBOzs7QThCTUE7QWhDSUE7QUFnQkE7O0FnQ2hCQTtBaENWQTs7QWdDYUE7QTlCYkE7OztBOEJpQkE7QWhDUEE7QUFnQkE7O0FnQ0xBO0E3QmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FnQ2tDQTtBOUJsQ0E7OztBOEJzQ0E7QWhDNUJBO0FBZ0JBOztBZ0NnQkE7QWhDMUNBOztBZ0M2Q0E7QTlCN0NBOzs7QThCaURBO0FoQ3ZDQTtBQWdCQTs7QWdDMkJBO0E3Qi9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBZ0NrRUE7QTlCbEVBOzs7QThCc0VBO0FoQzVEQTtBQWdCQTs7QWdDZ0RBO0FoQzFFQTs7QWdDNkVBO0E5QjdFQTs7O0E4QmlGQTtBaEN2RUE7QUFnQkE7O0FnQzJEQTtBYnJGQTs7Ozs7Ozs7QWE4RkE7QVo5RkE7QUFTQTtBYUdBO0FYOEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FXOUZBO0FWR0E7QVVIQTtBVlVBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QVVqQkE7QVYyQkE7QUFDQTtBQUNBO0FBSUE7QVVqQ0E7QVZ1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVNURBO0FWb0VBO0FVcEVBO0FYcUtBO0FBQ0E7QUFDQTtBV3ZLQTtBWDZLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FXdkxBO0FYMExBO0FBQ0E7QVczTEE7QVhnUEE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FXeFBBO0FYMlBBO0FBQ0E7QVc1UEE7QVg2U0E7QUFDQTtBV3hTQTtBWGtUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QVdsVUE7QVgwWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBVzVZQTtBWHlEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBWXBHQTtBRGtDQTtBQUNBO0FBQ0E7QUFUQTtBVmxCQTtBVWtCQTtBVlhBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QVVJQTtBVk1BO0FBQ0E7QUFDQTtBQUlBO0FVWkE7QVZrQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVdkNBO0FWK0NBO0FVL0NBO0FYZ0pBO0FBQ0E7QUFDQTtBV2xKQTtBWHdKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FXbEtBO0FYcUtBO0FBQ0E7QVd0S0E7QVgyTkE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FXbk9BO0FYc09BO0FBQ0E7QVd2T0E7QVh3UkE7QUFDQTtBZG1QQTtBeUI1Z0JBO0FDakJBO0FBS0E7QUFDQTtBRHNCQTtBWHdSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QVd4U0E7QVhnV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QVdsWEE7QUFFQTtBQUZBO0FBS0E7O0FqQy9EQTs7QW1DRUE7QWpDRkE7OztBaUNNQTtBbkNJQTtBQWdCQTs7QW1DaEJBO0FuQ1ZBOztBbUNhQTtBakNiQTs7O0FpQ2lCQTtBbkNQQTtBQWdCQTs7QW1DTEE7QWhDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QW1Da0NBO0FqQ2xDQTs7O0FpQ3NDQTtBbkM1QkE7QUFnQkE7O0FtQ2dCQTtBbkMxQ0E7O0FtQzZDQTtBakM3Q0E7OztBaUNpREE7QW5DdkNBO0FBZ0JBOztBbUMyQkE7QW5DckRBOztBbUN3REE7QWpDeERBOzs7QWlDNERBO0FuQ2xEQTtBQWdCQTs7QW1Dc0NBO0FoQzFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBT2JBOztBeUIyRUE7QXpCdkVBOzs7QXlCMkVBO0F6QmxFQTs7O0F5QnNFQTtBekI1REE7O0F5QitEQTtBbkN4RkE7O0FtQzJGQTtBakMzRkE7OztBaUMrRkE7QW5DckZBO0FBZ0JBOztBbUN5RUE7QW5DbkdBOztBbUNzR0E7QWpDdEdBOzs7QWlDMEdBO0FuQ2hHQTtBQWdCQTs7QW1Db0ZBO0FoQ3hHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBbUMySEE7QWpDM0hBOzs7QWlDK0hBO0FuQ3JIQTtBQWdCQTs7QW1DeUdBO0FuQ25JQTs7QW1Dc0lBO0FqQ3RJQTs7O0FpQzBJQTtBbkNoSUE7QUFnQkE7O0FtQ29IQTtBbkM5SUE7O0FtQ2lKQTtBakNqSkE7OztBaUNxSkE7QW5DM0lBO0FBZ0JBOztBbUMrSEE7QWhDbkpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FPYkE7O0F5Qm9LQTtBekJoS0E7OztBeUJvS0E7QXpCM0pBOzs7QXlCK0pBO0F6QnJKQTs7QXlCd0pBO0F4QjdLQTtBRE9BO0FBQ0E7QUNKQTtBQUNBO0FBQ0E7QUFFQTtBRGlCQTtBQUNBO0FBQ0E7QUNqQkE7QUFGQTtBQU1BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUhvaEJBO0FHcmhCQTtBQUlBO0FIaWhCQTtBR3JoQkE7QUFRQTtBSDZnQkE7QUdyaEJBO0FBWUE7QUFJQTtBQUNBO0FBQ0E7QUhtZ0JBO0FHcmdCQTtBQUtBO0FIZ2dCQTtBR3JnQkE7QUFTQTtBSDRmQTtBR3JnQkE7QUFhQTtBQUNBO0FIdWZBO0FHcGZBO0FBRUE7QUFLQTtBQUNBO0FINGVBO0FHN2VBO0FBSUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FIaWVBO0FHbmVBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBMUZBO0FET0E7QUFDQTtBRUFBO0FBQ0E7QUFDQTtBREZBO0FEaUJBO0FBQ0E7QUFDQTtBRWJBO0FETkE7QUNVQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBSitnQkE7QUlsaEJBO0FBTUE7QUFOQTtBQVVBO0FEYkE7QUNtQkE7QUprZ0JBO0FHcmhCQTtBQ3NCQTtBSitmQTtBR3JoQkE7QUMwQkE7QUoyZkE7QUdyaEJBO0FDOEJBO0FEZEE7QUNtQkE7QUFDQTtBSmlmQTtBR3JnQkE7QUN1QkE7QUo4ZUE7QUdyZ0JBO0FDMkJBO0FKMGVBO0FHcmdCQTtBQytCQTtBQUNBO0FBQ0E7QUpvZUE7QUk5ZEE7QUFFQTtBQUNBO0FKMmRBO0FHcGZBO0FDK0JBO0FBS0E7QUFrQkE7QUo4YkE7QUloZEE7QUFJQTtBQUNBO0FBQ0E7QUowY0E7QUloZEE7QUFVQTtBQVZBO0FBY0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FKeWJBO0FJM2JBO0FBS0E7QUFDQTtBRHhEQTtBQzZEQTtBSmdiQTtBRzdlQTtBQ2dFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUQ5REE7QUNrRUE7QUFDQTtBSmdhQTtBR25lQTtBQ3NFQTtBQUNBO0FKNFpBO0FJelpBOztBQUdBO0FBS0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUQ1RkE7QUNnR0E7QUp5WEE7QUl0WEE7QUFFQTtBQUlBO0FBRUE7QUFJQTtBQUlBO0FBQ0E7QUpxV0E7QUkxV0E7QUFRQTtBQUNBO0FBQ0E7QUpnV0E7QUk3VkE7QUFFQTtBQUNBO0FEM0hBO0FDZ0lBO0FENUhBO0FDZ0lBO0FKaVZBO0FJOVVBO0FBRUE7QUFJQTtBQUVBO0FBQ0E7QUFIQTtBQU9BO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFuRkE7QUFxRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFFQTs7QVpsUUE7O0FvQ0VBO0FsQ0ZBOzs7QWtDTUE7QXBDSUE7QUFnQkE7O0FvQ2hCQTtBcENWQTs7QW9DYUE7QWxDYkE7OztBa0NpQkE7QXBDUEE7QUFnQkE7O0FvQ0xBO0FqQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FvQ2tDQTtBbENsQ0E7OztBa0NzQ0E7QXBDNUJBO0FBZ0JBOztBb0NnQkE7QWpCMUNBOzs7Ozs7OztBaUJtREE7QWhCbkRBO0FBU0E7QXBCVEE7O0FvQ3dEQTtBbEN4REE7OztBa0M0REE7QXBDbERBO0FBZ0JBOztBb0NzQ0E7QXBDaEVBOztBb0NtRUE7QWxDbkVBOzs7QWtDdUVBO0FwQzdEQTtBQWdCQTs7QW9DaURBO0FqQ3JFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QW9DMEZBO0FsQzFGQTs7O0FrQzhGQTtBcENwRkE7QUFnQkE7O0FvQ3dFQTtBcENsR0E7O0FvQ3FHQTtBbENyR0E7OztBa0N5R0E7QXBDL0ZBO0FBZ0JBOztBb0NtRkE7QWpDdkdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FvQzBIQTtBbEMxSEE7OztBa0M4SEE7QXBDcEhBO0FBZ0JBOztBb0N3R0E7QXBDbElBOztBb0NxSUE7QWxDcklBOzs7QWtDeUlBO0FwQy9IQTtBQWdCQTs7QW9DbUhBO0FqQ3ZJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QW9DNEpBO0FsQzVKQTs7O0FrQ2dLQTtBcEN0SkE7QUFnQkE7O0FvQzBJQTtBcENwS0E7O0FvQ3VLQTtBbEN2S0E7OztBa0MyS0E7QXBDaktBO0FBZ0JBOztBb0NxSkE7QWpDektBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FrQ0dBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0JpZkE7QTZCdmZBO0FBU0E7QUFJQTtBQUNBO0E3QnllQTtBNkIxZUE7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUZBOztBQU1BO0FBQ0E7QUFQQTtBdEJoQ0E7QUFDQTtBc0IrQkE7QXRCdkJBO0FBQ0E7QXNCd0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QjBjQTtBNkJoZEE7QUFTQTtBQUNBO0FBSUE7QWZqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QWVPQTtBQUNBO0FBUEE7QWQ1RkE7QWM0RkE7QWRyRkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBYzhFQTtBZHBFQTtBQUNBO0FBQ0E7QUFJQTtBYzhEQTtBZHhDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWNtQ0E7QWQzQkE7QWMyQkE7QWZzRUE7QUFDQTtBQUNBO0FleEVBO0FmOEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QWV4RkE7QWYyRkE7QUFDQTtBZTVGQTtBZmlKQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QWV6SkE7QWY0SkE7QUFDQTtBZTdKQTtBZjhNQTtBQUNBO0FkbVBBO0E2QmxjQTtBQVVBO0FBQ0E7QUFJQTtBZjBNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QWUxTkE7QWZrUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7O0F0QjVhQTs7QXNDRUE7QXBDRkE7OztBb0NNQTtBdENJQTtBQWdCQTs7QXNDaEJBO0F0Q1ZBOztBc0NhQTtBcENiQTs7O0FvQ2lCQTtBdENQQTtBQWdCQTs7QXNDTEE7QW5DZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNDa0NBO0FwQ2xDQTs7O0FvQ3NDQTtBdEM1QkE7QUFnQkE7O0FzQ2dCQTtBOUJtZ0JBO0ErQnppQkE7QUFFQTtBQUNBO0EvQnNpQkE7QStCbmlCQTtBQUVBOztBdkNaQTs7QXdDRUE7QXRDRkE7OztBc0NNQTtBeENJQTtBQWdCQTs7QXdDaEJBO0F4Q1ZBOztBd0NhQTtBdENiQTs7O0FzQ2lCQTtBeENQQTtBQWdCQTs7QXdDTEE7QXJDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXdDa0NBO0F0Q2xDQTs7O0FzQ3NDQTtBeEM1QkE7QUFnQkE7O0F3Q2dCQTtBVjFDQTs7QVU2Q0E7QXhDN0NBOztBd0NnREE7QXRDaERBOzs7QXNDb0RBO0F4QzFDQTtBQWdCQTs7QXdDOEJBO0F4Q3hEQTs7QXdDMkRBO0F0QzNEQTs7O0FzQytEQTtBeENyREE7QUFnQkE7O0F3Q3lDQTtBckM3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNDZkE7QUFNQTtBQzRDQTtBQUdBO0FBQ0E7QUFDQTtBbENzZkE7QWtDM2ZBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVpBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxDc2VBO0FrQ2xlQTtBQUdBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsQ29kQTtBa0NsZEE7QUFFQTtBbENnZEE7QWtDM2ZBO0FBbURBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdEVBO0FEaUVBO0FDN0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFpQkE7QUFBQTtBRDBCQTtBQ0NBO0FBQ0E7QURGQTtBQ2lCQTtBQUNBO0FEbEJBO0FDa0VBO0FEbEVBO0FDOEVBO0FuQ3NYQTtBa0NwY0E7QUEyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ25HQTtBRGlFQTtBQzdEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBaUJBO0FBQUE7QUQwQkE7QUNDQTtBQUNBO0FERkE7QUNpQkE7QUFDQTtBRGxCQTtBQ2tFQTtBRGxFQTtBQzhFQTtBRG5CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbENtWUE7QWtDellBO0FBU0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QVpwTEE7QUFDQTtBQUNBO0FZb0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbEMwV0E7QWtDcFhBO0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWpCQTtBQXFCQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FsQzJVQTtBa0NuVkE7QUFZQTtBQUNBO0FsQ3NVQTtBa0NuVkE7QUFpQkE7QUFDQTs7QTFDNU9BOztBNENFQTtBMUNGQTs7O0EwQ01BO0E1Q0lBO0FBZ0JBOztBNENoQkE7QTVDVkE7O0E0Q2FBO0ExQ2JBOzs7QTBDaUJBO0E1Q1BBO0FBZ0JBOztBNENMQTtBekNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZ0JmQTs7Ozs7Ozs7QXlCd0NBO0F4QnhDQTtBQVNBO0F5QlRBO0FBbURBO0FDV0E7QUM1REE7QUFHQTs7QUQrRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDbEdBOztBRG1JQTtBQy9IQTs7QUQ0R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzdHQTs7QURvSEE7QUFDQTtBQ2hIQTs7O0FENkhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDeklBOzs7OztBRDhJQTtBQUNBO0FDL0lBO0FEb0pBO0FBQ0E7QUNySkE7QURvSkE7QUFDQTtBQ3JKQTs7O0FEb0pBO0FBQ0E7QUNySkE7OztBRHlKQTtBQ3pKQTs7Ozs7QURrS0E7QUN6SkE7O0FEd01BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDM05BOzs7QURnT0E7QUFDQTtBQ2pPQTs7O0FEdU9BO0FBQ0E7QUFDQTtBQ3pPQTs7QUQ4T0E7QUM5T0E7O0FEa1BBO0FBQ0E7QUFDQTtBQ2hQQTs7QUQyUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDOVFBOzs7QURtUkE7QUFDQTtBQ3BSQTs7O0FEMFJBO0FBQ0E7QUFDQTtBQzVSQTs7QURpU0E7QUNqU0E7Ozs7QURzU0E7QUFDQTtBQUNBO0FDeFNBOzs7Ozs7QUQrU0E7QUNyU0E7O0FEaVBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQStDQTtBQUNBO0FDcFRBOzs7QUR5UUE7QUFDQTtBQzFRQTs7O0FEZ1JBO0FBQ0E7QUFDQTtBQ2xSQTs7QUR1UkE7QUN2UkE7Ozs7QUQ0UkE7QUFDQTtBQUNBO0FDOVJBOzs7Ozs7QURxU0E7QUNyU0E7O0FEdVRBO0FDdlRBOzs7QUQySUE7QUM3SEE7O0FEb0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3JJQTs7QUQrSUE7QUFDQTtBQUNBO0FBQ0E7QUM5SUE7O0FEMklBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQ2xKQTtBRDRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNwQ0E7QUFLQTtBQUxBO0FEdUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FDdEhBO0FBVEE7QURxRUE7QUNyRUE7QUQyRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN2RkE7QUQ0RkE7QUFDQTtBQzdGQTtBRGtHQTtBQUNBO0FDbkdBO0FEa0dBO0FBQ0E7QUNuR0E7QURrR0E7QUFDQTtBQ25HQTtBRHVHQTtBQ3ZHQTtBRGtEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdERBO0FENkRBO0FBQ0E7QUM5REE7QUFzQ0E7QUF0Q0E7QUQyRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN2RkE7QUQ0RkE7QUFDQTtBQzdGQTtBRGtHQTtBQUNBO0FDbkdBO0FEa0dBO0FBQ0E7QUNuR0E7QURrR0E7QUFDQTtBQ25HQTtBRHVHQTtBQ3ZHQTtBRGdIQTtBQ2hIQTtBQW9EQTtBQXBEQTtBRCtKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2xMQTtBRHVMQTtBQUNBO0FDeExBO0FEOExBO0FBQ0E7QUFDQTtBQ2hNQTtBRHFNQTtBQ3JNQTtBRHlNQTtBQUNBO0FBQ0E7QUMzTUE7QURzTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBK0NBO0FBQ0E7QUN6UkE7QUQ4T0E7QUFDQTtBQy9PQTtBRHFQQTtBQUNBO0FBQ0E7QUN2UEE7QUQ0UEE7QUM1UEE7QURpUUE7QUFDQTtBQUNBO0FDblFBOzs7QUQwUUE7QUMxUUE7QUQ0UkE7QUM1UkE7QURnSEE7QUNoSEE7QURzTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDek9BO0FEOE9BO0FBQ0E7QUMvT0E7QURxUEE7QUFDQTtBQUNBO0FDdlBBO0FENFBBO0FDNVBBO0FEaVFBO0FBQ0E7QUFDQTtBQ25RQTs7O0FEMFFBO0FDMVFBO0FEK0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDbExBO0FEdUxBO0FBQ0E7QUN4TEE7QUQ4TEE7QUFDQTtBQUNBO0FDaE1BO0FEcU1BO0FDck1BO0FEeU1BO0FBQ0E7QUFDQTtBQzNNQTtBRDJFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3ZGQTtBRDRGQTtBQUNBO0FDN0ZBO0FEa0dBO0FBQ0E7QUNuR0E7QURrR0E7QUFDQTtBQ25HQTtBRGtHQTtBQUNBO0FDbkdBO0FEdUdBO0FDdkdBO0FEZ0hBO0FDaEhBO0F6QmtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBeUJsQ0E7QXpCbUVBO0F5Qm5FQTtBekJ5R0E7QUFDQTtBQUNBO0F5QjNHQTtBekJpSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBeUJ0SUE7QXpCeUlBO0FBQ0E7QXlCMUlBO0F6Qm9MQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QXlCdk1BO0F6QjBNQTtBQUNBO0F5QjNNQTtBekJpUEE7QUFDQTtBeUJsUEE7QXpCNFBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFjQTtBeUJuUkE7OztBRGdIQTtBQ2hIQTtBQW1HQTtBQUNBO0FBcEdBO0FBd0dBO0FBeEdBOztBQTRHQTtBQTVHQTtBQWdIQTtBQUNBO0FBQ0E7QURvQkE7QUFDQTtBQUNBO0FBQ0E7QUN6SUE7QUF3SEE7QUF4SEE7QURzSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ1JBOztBRElBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQ1hBOztBQy9NQTs7O0FDR0E7QWpESEE7O0FpRE1BO0EvQ05BOzs7QStDVUE7QWpEQUE7QUFnQkE7O0FpRFpBO0FqRGRBOztBaURpQkE7QS9DakJBOzs7QStDcUJBO0FqRFhBO0FBZ0JBOztBaUREQTtBOUNuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QWlEc0NBO0EvQ3RDQTs7O0ErQzBDQTtBakRoQ0E7QUFnQkE7O0FpRG9CQTtBQzlDQTs7Ozs7Ozs7O0FEd0RBO0FqRHhEQTs7QWlEMkRBO0EvQzNEQTs7O0ErQytEQTtBakRyREE7QUFnQkE7O0FpRHlDQTtBakRuRUE7O0FpRHNFQTtBL0N0RUE7OztBK0MwRUE7QWpEaEVBO0FBZ0JBOztBaURvREE7QTlDeEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QXpDTkE7O0FpRDZGQTtBL0M3RkE7OztBK0NpR0E7QWpEdkZBO0FBZ0JBOztBaUQyRUE7QWpEckdBOztBaUR3R0E7QS9DeEdBOzs7QStDNEdBO0FqRGxHQTtBQWdCQTs7QWlEc0ZBO0E5QzFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QWlEK0hBO0EvQy9IQTs7O0ErQ21JQTtBakR6SEE7QUFnQkE7O0FpRDZHQTtBakR2SUE7O0FpRDBJQTtBL0MxSUE7OztBK0M4SUE7QWpEcElBO0FBZ0JBOztBaUR3SEE7QTlDNUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpRCtKQTtBL0MvSkE7OztBK0NtS0E7QWpEekpBO0FBZ0JBOztBaUQ2SUE7QWpEdktBOztBaUQwS0E7QS9DMUtBOzs7QStDOEtBO0FqRHBLQTtBQWdCQTs7QWlEd0pBO0E5QzVLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QWlEaU1BO0EvQ2pNQTs7O0ErQ3FNQTtBakQzTEE7QUFnQkE7O0FpRCtLQTtBakR6TUE7O0FpRDRNQTtBL0M1TUE7OztBK0NnTkE7QWpEdE1BO0FBZ0JBOztBaUQwTEE7QTlDOU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnRGZBOzs7QUZrT0E7QWpEbE9BOztBaURxT0E7QS9Dck9BOzs7QStDeU9BO0FqRC9OQTtBQWdCQTs7QWlEbU5BO0FqRDdPQTs7QWlEZ1BBO0EvQ2hQQTs7O0ErQ29QQTtBakQxT0E7QUFnQkE7O0FpRDhOQTtBOUNsUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QWlEcVFBO0EvQ3JRQTs7O0ErQ3lRQTtBakQvUEE7QUFnQkE7O0FpRG1QQTtBQzdRQTs7Ozs7Ozs7O0FEdVJBO0FqRHZSQTs7QWlEMFJBO0EvQzFSQTs7O0ErQzhSQTtBakRwUkE7QUFnQkE7O0FpRHdRQTtBakRsU0E7O0FpRHFTQTtBL0NyU0E7OztBK0N5U0E7QWpEL1JBO0FBZ0JBOztBaURtUkE7QTlDdlNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QXpDTkE7O0FpRDRUQTtBL0M1VEE7OztBK0NnVUE7QWpEdFRBO0FBZ0JBOztBaUQwU0E7QWpEcFVBOztBaUR1VUE7QS9DdlVBOzs7QStDMlVBO0FqRGpVQTtBQWdCQTs7QWlEcVRBO0E5Q3pVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QWlEOFZBO0EvQzlWQTs7O0ErQ2tXQTtBakR4VkE7QUFnQkE7O0FpRDRVQTtBakR0V0E7O0FpRHlXQTtBL0N6V0E7OztBK0M2V0E7QWpEbldBO0FBZ0JBOztBaUR1VkE7QTlDM1dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpRDhYQTtBL0M5WEE7OztBK0NrWUE7QWpEeFhBO0FBZ0JBOztBaUQ0V0E7QWpEdFlBOztBaUR5WUE7QS9DellBOzs7QStDNllBO0FqRG5ZQTtBQWdCQTs7QWlEdVhBO0E5QzNZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QWlEZ2FBO0EvQ2hhQTs7O0ErQ29hQTtBakQxWkE7QUFnQkE7O0FpRDhZQTtBakR4YUE7O0FpRDJhQTtBL0MzYUE7OztBK0MrYUE7QWpEcmFBO0FBZ0JBOztBaUR5WkE7QTlDN2FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnRGtCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTNDc2dCQTtBMkM1Z0JBO0FBU0E7QUFHQTtBQUNBO0EzQytmQTtBMkNoZ0JBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QTNDeWZBO0EyQ2hnQkE7QUFXQTtBM0NxZkE7QTJDamZBO0FBRUE7QUFHQTtBQU9BO0EzQ3FlQTtBMkM1ZUE7QUFHQTtBM0N5ZUE7QTJDNWVBO0FBVUE7QTNDa2VBO0EyQzVlQTtBQWNBO0FBQ0E7QTNDNmRBO0EyQ3pkQTtBQUVBO0FBQ0E7QUFDQTtBM0NxZEE7QTJDemRBO0FBUUE7QTNDaWRBO0EyQ3pkQTtBQVlBO0FBQ0E7QTNDNGNBO0EyQ3hjQTtBQUVBO0FBQ0E7QTNDcWNBO0EyQ3hjQTtBQU9BO0FBQ0E7QUFDQTtBM0MrYkE7QTJDMWJBO0FBRUE7QTNDd2JBO0EyQ3JiQTtBQUVBO0EzQ21iQTtBMkMvYUE7QUFFQTtBM0M2YUE7QTJDemFBO0FBRUE7QUFDQTtBQUtBOztBOUN4SUE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FvQ21IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EzQ3FaQTtBMkNsWkE7O0FBQ0E7QVJwSEE7QUFFQTs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFtQkE7QUFVQTtBQUFBO0FBbUtBOzs7QUFFQTtBQUNBO0FBR0E7O0FBQ0E7QUFJQTs7QUFDQTtBQUNBO0FBR0E7O0FBQ0E7QVFoR0E7O0FEdkpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0ExQ3loQkE7QTJDamFBOztBQTZCQTtBQUNBO0EzQ21ZQTtBMkNqYUE7O0FBa0NBO0FBQ0E7QUFJQTs7QUFFQTtBQUNBO0EzQ3VYQTtBMkNwWEE7O0FBQ0E7QTNDbVhBO0EyQzFYQTs7QUFZQTtBM0M4V0E7QTJDMVhBOztBQWdCQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBSHZMQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhDb2dCQTtBd0MxZ0JBO0FBU0E7QUFHQTtBQUNBO0F4QzZmQTtBd0M5ZkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBeEN1ZkE7QXdDOWZBO0FBV0E7QXhDbWZBO0F3QzlmQTtBQWNBO0FBZEE7QUFpQkE7QXhDNmVBO0F3Q3plQTtBQUVBO0FBR0E7QUFPQTtBeEM2ZEE7QXdDcGVBO0FBR0E7QXhDaWVBO0F3Q3BlQTtBQVVBO0F4QzBkQTtBd0NwZUE7QUFjQTtBQUNBO0F4Q3FkQTtBd0NqZEE7QUFFQTtBQUNBO0FBQ0E7QXhDNmNBO0F3Q2pkQTtBQVFBO0F4Q3ljQTtBd0NqZEE7QUFZQTtBQUNBO0F4Q29jQTtBd0NoY0E7QUFFQTtBQUNBO0F4QzZiQTtBd0NoY0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FBYUE7QXhDbWJBO0F3QzlhQTtBQUVBO0F4QzRhQTtBd0N6YUE7QUFFQTtBeEN1YUE7QXdDbmFBO0FBRUE7QXhDaWFBO0F3QzdaQTtBQUVBO0FBQ0E7QUFwQkE7QUF3QkE7QUFJQTs7QTNDdkpBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaUNrSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4Q3FZQTtBd0NsWUE7Ozs7O0FBRUE7QUFPQTs7QUV4S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QTFDeWhCQTtBd0NsWkE7O0FBK0JBO0FBQ0E7QXhDa1hBO0F3Q2xaQTs7QUFvQ0E7QUFDQTtBQUlBOztBQUVBO0FBQ0E7QXhDc1dBO0F3Q25XQTs7Ozs7QUFFQTtBeENpV0E7QXdDeldBOztBQWFBO0F4QzRWQTtBd0N6V0E7O0FBaUJBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTdMQTtBQWdNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFyTUE7QUF1TUE7QUFDQTtBQUNBO0F4Q2lVQTtBd0MxZ0JBO0FBMk1BO0FBQ0E7QXhDOFRBO0F3QzFnQkE7QUFrTkE7QUFsTkE7QUFzTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTFOQTtBQTZOQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFuT0E7QUF1T0E7QUF2T0E7QUF5T0E7QUF6T0E7QUEyT0E7QXhDK1JBO0F3QzFnQkE7QUE4T0E7QUE5T0E7QUFtUEE7QUFDQTtBQUNBO0F4Q3FSQTtBd0MxZ0JBO0FBdVBBO0FBQ0E7QUFDQTtBQXpQQTtBQTZQQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBeENpUUE7QXdDdFFBO0FBV0E7O0FoRGxUQTs7QW9ERUE7QWxERkE7OztBa0RNQTtBcERJQTtBQWdCQTs7QW9EaEJBO0FwRFZBOztBb0RhQTtBbERiQTs7O0FrRGlCQTtBcERQQTtBQWdCQTs7QW9ETEE7QWpEZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QW9Ea0NBO0FsRGxDQTs7O0FrRHNDQTtBcEQ1QkE7QUFnQkE7O0FvRGdCQTtBdEIxQ0E7O0FzQjZDQTtBcEQ3Q0E7O0FvRGdEQTtBbERoREE7OztBa0RvREE7QXBEMUNBO0FBZ0JBOztBb0Q4QkE7QXBEeERBOztBb0QyREE7QWxEM0RBOzs7QWtEK0RBO0FwRHJEQTtBQWdCQTs7QW9EeUNBO0FqRDdEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QW9Ea0ZBO0FsRGxGQTs7O0FrRHNGQTtBcEQ1RUE7QUFnQkE7O0FvRGdFQTtBcEQxRkE7O0FvRDZGQTtBbEQ3RkE7OztBa0RpR0E7QXBEdkZBO0FBZ0JBOztBb0QyRUE7QWpEL0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FvRGtIQTtBbERsSEE7OztBa0RzSEE7QXBENUdBO0FBZ0JBOztBb0RnR0E7QXBEMUhBOztBb0Q2SEE7QWxEN0hBOzs7QWtEaUlBO0FwRHZIQTtBQWdCQTs7QW9EMkdBO0FqRC9IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QW9Eb0pBO0FsRHBKQTs7O0FrRHdKQTtBcEQ5SUE7QUFnQkE7O0FvRGtJQTtBcEQ1SkE7O0FvRCtKQTtBbEQvSkE7OztBa0RtS0E7QXBEekpBO0FBZ0JBOztBb0Q2SUE7QWpEaktBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FrREFBO0F2QlZBO0FBQ0E7QUFDQTtBdUJhQTtBQUNBO0FBTkE7QXRDNEJBO0FBQ0E7QXNDN0JBO0F0Q3FDQTtBQUNBO0FzQ3RDQTtBQW1CQTtBQUNBO0FBQ0E7QTdDeWdCQTtBNkM5aEJBO0FBd0JBO0FBQ0E7O0FyRHhDQTs7QXNERUE7QXBERkE7OztBb0RNQTtBdERJQTtBQWdCQTs7QXNEaEJBO0F0RFZBOztBc0RhQTtBcERiQTs7O0FvRGlCQTtBdERQQTtBQWdCQTs7QXNETEE7QW5EZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNEa0NBO0FwRGxDQTs7O0FvRHNDQTtBdEQ1QkE7QUFnQkE7O0FzRGdCQTtBdEQxQ0E7O0FzRDZDQTtBcEQ3Q0E7OztBb0RpREE7QXREdkNBO0FBZ0JBOztBc0QyQkE7QXREckRBOztBc0R3REE7QXBEeERBOzs7QW9ENERBO0F0RGxEQTtBQWdCQTs7QXNEc0NBO0FuRDFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBc0Q2RUE7QXBEN0VBOzs7QW9EaUZBO0F0RHZFQTtBQWdCQTs7QXNEMkRBO0F0RHJGQTs7QXNEd0ZBO0FwRHhGQTs7O0FvRDRGQTtBdERsRkE7QUFnQkE7O0FzRHNFQTtBdERoR0E7O0FzRG1HQTtBcERuR0E7OztBb0R1R0E7QXREN0ZBO0FBZ0JBOztBc0RpRkE7QXREM0dBOztBc0Q4R0E7QXBEOUdBOzs7QW9Ea0hBO0F0RHhHQTtBQWdCQTs7QXNENEZBO0FuRGhIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBc0RtSUE7QXBEbklBOzs7QW9EdUlBO0F0RDdIQTtBQWdCQTs7QXNEaUhBO0FDM0lBO0FBU0E7QUNKQTtBQ2NBO0FBQ0E7QUFDQTtBQUNBO0FEZEE7QUFDQTtBdEJIQTtBMUJ1aUJBO0FnRHhpQkE7QXRCV0E7QUFLQTtBQUNBO0FzQlRBO0FDc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpEbWdCQTtBZ0RoaUJBO0FDZ0NBO0FEaENBO0FDc0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpEc2ZBO0FnRGhpQkE7QUM2Q0E7QUQ3Q0E7QUNrREE7QURsREE7QUNzREE7QURsREE7QUMrREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpEdWRBO0FnRDVoQkE7QUN3RUE7O0F6RHpGQTs7QTBERUE7QXhERkE7OztBd0RNQTtBMURJQTtBQWdCQTs7QTBEaEJBO0ExRFZBOztBMERhQTtBeERiQTs7O0F3RGlCQTtBMURQQTtBQWdCQTs7QTBETEE7QXZEZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTBEa0NBO0F4RGxDQTs7O0F3RHNDQTtBMUQ1QkE7QUFnQkE7O0EwRGdCQTtBMUQxQ0E7O0EwRDZDQTtBeEQ3Q0E7OztBd0RpREE7QTFEdkNBO0FBZ0JBOztBMEQyQkE7QTFEckRBOztBMER3REE7QXhEeERBOzs7QXdENERBO0ExRGxEQTtBQWdCQTs7QTBEc0NBO0F2RDFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBT2JBOztBZ0QyRUE7QWhEdkVBOzs7QWdEMkVBO0FoRGxFQTs7O0FnRHNFQTtBaEQ1REE7O0FnRCtEQTtBeER4RkE7OztBd0Q0RkE7QUMvREE7Ozs7QURvRUE7QWxENGNBO0FtRHZnQkE7QUFFQTtBQUNBO0FBQ0E7QUFPQTs7O0FEeURBO0FsRG1jQTtBbUR4ZkE7QUFFQTtBQUNBO0FuRHFmQTtBbUR4ZkE7QUFNQTtBQUNBO0FuRGlmQTtBbUQ3ZUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTs7O0FEcURBO0FDakRBOztBQUVBO0FBQ0E7QW5EZ2VBO0FtRDdlQTtBQWlCQTtBQUNBO0FBS0E7QUFHQTtBQUNBO0FBU0E7QW5EeWNBO0FtRHRkQTtBQU1BO0FuRGdkQTtBbUR0ZEE7QUFpQkE7QW5EcWNBO0FtRHRkQTtBQXNCQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBbkRvYkE7QW1EN2JBO0FBcUJBO0FuRHdhQTtBbUQ3YkE7QUF5QkE7QUFDQTtBbkRtYUE7QW1EN2JBO0FBOEJBO0FBSUE7QUFDQTtBQUNBO0FuRHlaQTtBbUQzWkE7QUFTQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuRHdZQTtBbUQ5WUE7QUFTQTtBbkRxWUE7QW1EOVlBO0FBYUE7QW5EaVlBO0FtRDlZQTtBQWlCQTtBQUNBO0FBR0E7QWpEdkpBO0FBQ0E7QUFDQTtBaUR1SkE7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUF0R0E7QUE0R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuRHFXQTtBbUR0ZEE7QUFvSEE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFVQTtBbkQ2VUE7QW1EL1ZBO0FBdUJBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFZQTtBQUNBO0FuRHNUQTtBbUQvVkE7QUFtREE7QW5ENFNBO0FtRC9WQTtBQTBEQTtBQUNBO0FBQ0E7QUE2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5EZ1FBO0FtRHRRQTtBQWVBO0FuRHVQQTtBbUR0UUE7QUFxQkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuRHFPQTtBbUQ1T0E7QUFVQTtBbkRrT0E7QW1ENU9BO0FBY0E7QUFJQTtBQUNBO0FBQ0E7QW5Ed05BO0FtRDFOQTtBQUtBOztBM0R4VkE7O0E0REVBO0ExREZBOzs7QTBETUE7QTVESUE7QUFnQkE7O0E0RGhCQTtBNURWQTs7QTREYUE7QTFEYkE7OztBMERpQkE7QTVEUEE7QUFnQkE7O0E0RExBO0F6RGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E0RGtDQTtBMURsQ0E7OztBMERzQ0E7QTVENUJBO0FBZ0JBOztBNERnQkE7QVYxQ0E7Ozs7Ozs7OztBVW9EQTtBNURwREE7O0E0RHVEQTtBMUR2REE7OztBMEQyREE7QTVEakRBO0FBZ0JBOztBNERxQ0E7QTVEL0RBOztBNERrRUE7QTFEbEVBOzs7QTBEc0VBO0E1RDVEQTtBQWdCQTs7QTREZ0RBO0F6RHBFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZ0JmQTs7Ozs7Ozs7QXlDNkZBO0F4QzdGQTtBQVNBO0F5QlRBO0FBbURBO0FDV0E7QTNCOURBOzs7Ozs7OztBeUMyR0E7QXhDM0dBO0FBU0E7QXlDMkJBO0FBR0E7QXJEc2dCQTtBcUR6Z0JBO0FBT0E7QUFJQTtBQUNBO0FBR0E7QVh2Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QVdtQ0E7QUFDQTtBQURBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBCQTtBQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFHQTtBQU1BO0FmbURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FlNURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0Fmb0VBO0FBQ0E7QWVyRUE7QWYwRUE7QUFDQTtBZTNFQTtBZjBFQTtBQUNBO0FlM0VBO0FmMEVBO0FBQ0E7QWUzRUE7QWYrRUE7QXRDOFhBO0FxRDdjQTtBQVdBO0FBS0E7QUFFQTtBQUNBO0FBSEE7QUFPQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVNBO0FBQ0E7QXJEc1pBO0FxRGhhQTtBQW9CQTtBQXBCQTtBQTBCQTtBQUlBO0FYL0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FXMkpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBdkN6R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXVDK0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFaQTtBdkNsQkE7QUFDQTtBQUNBO0F1Q2dCQTtBdkNWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F1Q0FBO0F2Q0dBO0FBQ0E7QXVDSkE7QXZDeURBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBdUNqRUE7QXZDb0VBO0FBQ0E7QXVDckVBO0F2Q3NIQTtBQUNBO0F1Q3ZIQTtBQWVBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FYN05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FXeU5BO0FBQ0E7QUFDQTtBQUNBO0FyRDZUQTtBcURoVUE7QUFNQTtBQUlBO0FyRHNUQTtBcURoVUE7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0E3RGpRQTs7QThERUE7QTVERkE7OztBNERNQTtBOURJQTtBQWdCQTs7QThEaEJBO0E5RFZBOztBOERhQTtBNURiQTs7O0E0RGlCQTtBOURQQTtBQWdCQTs7QThETEE7QTNEZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QThEa0NBO0E1RGxDQTs7O0E0RHNDQTtBOUQ1QkE7QUFnQkE7O0E4RGdCQTtBWjFDQTs7Ozs7Ozs7O0FZb0RBO0E5RHBEQTs7QThEdURBO0E1RHZEQTs7O0E0RDJEQTtBOURqREE7QUFnQkE7O0E4RHFDQTtBOUQvREE7O0E4RGtFQTtBNURsRUE7OztBNERzRUE7QTlENURBO0FBZ0JBOztBOERnREE7QTNEcEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E0RGZBO0FBU0E7QUN5QkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QXhEb2ZBO0F3RGxmQTtBQVVBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7QUFWQTtBQWNBO0FBZEE7QUFtQkE7QUFJQTtBQUVBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZHBIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBMUN5aEJBO0F3RHBiQTtBZGpHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fja0hBO0FDMUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUQrR0E7QUFDQTtBQUNBO0FBQ0E7QUFxQkE7QXhEaVlBO0F3RDVaQTtBQWFBO0FBaUJBO0FDbklBO0FBQ0E7QURzSUE7QUNsSUE7QUFDQTtBRHFJQTtBQ2pJQTtBQUNBO0FEb0lBO0FBQ0E7QUF3QkE7QUN0SkE7QXpEK2VBO0F3RDNnQkE7QUF1TEE7O0FFek5BOzs7QUFJQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTs7QWxFVkE7O0FtRUVBO0FqRUZBOzs7QWlFTUE7QW5FSUE7QUFnQkE7O0FtRWhCQTtBbkVWQTs7QW1FYUE7QWpFYkE7OztBaUVpQkE7QW5FUEE7QUFnQkE7O0FtRUxBO0FoRWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FpRUxBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBREE7QUFJQTtBQUpBO0FBUUE7QUFSQTtBQVdBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFHQTtBQUVBO0FBSUE7QUFFQTs7QXBFL0VBOztBcUVFQTtBbkVGQTs7O0FtRU1BO0FyRUlBO0FBZ0JBOztBcUVoQkE7QXJFVkE7O0FxRWFBO0FuRWJBOzs7QW1FaUJBO0FyRVBBO0FBZ0JBOztBcUVMQTtBbEVmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBcUVrQ0E7QW5FbENBOzs7QW1Fc0NBO0FyRTVCQTtBQWdCQTs7QXFFZ0JBO0FDckNBO0FBQ0E7QUFDQTtBOURzaUJBO0E4RHhpQkE7QUFLQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0E5RDRoQkE7QThEaGlCQTtBQVFBO0FBSUE7QUFDQTtBOURtaEJBO0E4RHBoQkE7QUFJQTtBQUdBO0FBQ0E7O0F0RWpDQTs7QXVFRUE7QXJFRkE7OztBcUVNQTtBdkVJQTtBQWdCQTs7QXVFaEJBO0F2RVZBOztBdUVhQTtBckViQTs7O0FxRWlCQTtBdkVQQTtBQWdCQTs7QXVFTEE7QXBFZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVFa0NBO0FyRWxDQTs7O0FxRXNDQTtBdkU1QkE7QUFnQkE7O0F1RWdCQTtBQ3ZCQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBOztBeEUxRUE7O0F5RUVBO0F2RUZBOzs7QXVFTUE7QXpFSUE7QUFnQkE7O0F5RWhCQTtBekVWQTs7QXlFYUE7QXZFYkE7OztBdUVpQkE7QXpFUEE7QUFnQkE7O0F5RUxBO0F0RWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F5RWtDQTtBdkVsQ0E7OztBdUVzQ0E7QXpFNUJBO0FBZ0JBOztBeUVnQkE7QXREMUNBOzs7Ozs7OztBc0RtREE7QXJEbkRBO0FBU0E7QWxCVEE7OztBdUV5REE7QXpFekRBOztBeUU0REE7QXZFNURBOzs7QXVFZ0VBO0F6RXREQTtBQWdCQTs7QXlFMENBO0F6RXBFQTs7QXlFdUVBO0F2RXZFQTs7O0F1RTJFQTtBekVqRUE7QUFnQkE7O0F5RXFEQTtBdEV6RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNDZkE7QUFNQTtBaUNzQ0E7QUFpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFXQTtBQTdCQTtBQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0EvQnRFQTtBK0JnRkE7QUFDQTtBQUNBO0FBQ0E7QUFiQTtBL0JsRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFtQkE7QUFVQTtBQUFBO0ErQitCQTtBL0J4QkE7QStCd0JBO0EvQmZBO0ErQmVBO0EvQnNJQTtBQUNBO0ErQnZJQTtBL0IySUE7QStCM0lBO0EvQmdKQTtBQUNBO0ErQmpKQTtBL0JxSkE7QUFDQTtBK0J0SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFtQkE7QUFDQTtBQXJCQTtBQUtBO0FBTEE7QUFTQTtBQUlBO0FBRUE7QUFDQTtBQVNBO0FBQ0E7QUFEQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QWxFZ1dBO0FrRW5XQTtBQU1BO0FBRUE7QUFDQTtBQUNBO0FBMkJBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFWQTtBQU1BO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBREE7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBcERoTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QW9Ec01BO0FBTkE7QW5EM1JBO0FtRDJSQTtBbkRwUkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBbUQ2UUE7QW5EblFBO0FBQ0E7QUFDQTtBQUlBO0FtRDZQQTtBbkR2T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FtRGtPQTtBbkQxTkE7QW1EME5BO0FwRHpIQTtBQUNBO0FBQ0E7QW9EdUhBO0FwRGpIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FvRHVHQTtBcERwR0E7QUFDQTtBb0RtR0E7QXBEOUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBb0RzQ0E7QXBEbkNBO0FBQ0E7QW9Ea0NBO0FwRGVBO0FBQ0E7QW9EUkE7QXBEa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFjQTtBb0RwQ0E7QUFHQTtBcER5RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QW9EN0dBO0FBQ0E7QUFHQTtBcER6T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QW9EK05BO0FBTkE7QXBEeExBO0FvRHdMQTtBcERsSkE7QUFDQTtBQUNBO0FvRGdKQTtBcEQxSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBb0RxSEE7QXBEbEhBO0FBQ0E7QW9EaUhBO0FwRHZFQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QW9Eb0RBO0FwRGpEQTtBQUNBO0FvRGdEQTtBcERWQTtBQUNBO0FvRGlCQTtBcERQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QW9EWEE7QUFHQTtBcERnRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QW9EcEZBO0FBQ0E7QUFHQTtBcERsUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QW9EbVBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FwRGpOQTtBb0RpTkE7QXBEM0tBO0FBQ0E7QUFDQTtBb0R5S0E7QXBEbktBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QW9EOElBO0FwRDNJQTtBQUNBO0FvRDBJQTtBcERoR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FvRDZFQTtBcEQxRUE7QUFDQTtBb0R5RUE7QXBEbkNBO0FBQ0E7QW9Ec0RBO0FwRDVDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QW9EMEJBO0FBR0E7QXBEMkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FvRC9DQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QWxFaUlBO0FrRWpKQTtBQW9CQTtBbEU2SEE7QWtFakpBO0FBd0JBO0FsRXlIQTtBa0VqSkE7QUE0QkE7QUFDQTtBQTdCQTtBQTBDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQTVFQTtBQWlGQTtBQUNBO0FBQ0E7QUF3RUE7QUFFQTs7QTFFMWlCQTs7QTJFRUE7QXpFRkE7OztBeUVNQTtBM0VJQTtBQWdCQTs7QTJFaEJBO0EzRVZBOztBMkVhQTtBekViQTs7O0F5RWlCQTtBM0VQQTtBQWdCQTs7QTJFTEE7QXhFZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTJFa0NBO0F6RWxDQTs7O0F5RXNDQTtBM0U1QkE7QUFnQkE7O0EyRWdCQTtBeEQxQ0E7Ozs7Ozs7O0F3RG1EQTtBdkRuREE7QUFTQTtBcEJUQTs7QTJFd0RBO0F6RXhEQTs7O0F5RTREQTtBM0VsREE7QUFnQkE7O0EyRXNDQTtBM0VoRUE7O0EyRW1FQTtBekVuRUE7OztBeUV1RUE7QTNFN0RBO0FBZ0JBOztBMkVpREE7QXhFckVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBd0Q4RkE7QXZEOUZBO0FBU0E7QXlCVEE7QUFtREE7QUNXQTtBSTlEQTs7Ozs7Ozs7O0F5QjZHQTtBekU3R0E7OztBeUVpSEE7QUMxREE7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBcEVtY0E7QW9FOWNBO0FBT0E7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQWpCQTtBQVdBO0FBQ0E7QUFTQTtBQUVBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFKQTs7QUFVQTtBQVZBO0FBY0E7QUFLQTtBQUVBO0FBR0E7QUFJQTtBQUNBO0FBQ0E7QUFXQTtBQUNBO0FBbEJBO0FBVUE7QUFDQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBT0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBaEJBO0FBU0E7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUlBOztBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBOUJsSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QThCeUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBOUJqSUE7QUFDQTtBOEJnSUE7QTlCM0hBO0FBQ0E7QThCMEhBO0E5QjNIQTtBQUNBO0E4QjBIQTtBOUIzSEE7QUFDQTtBOEIwSEE7QTlCdEhBO0E4Qm1JQTtBdER4TkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXNEOE1BO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QXREaklBO0FBQ0E7QUFDQTtBc0QrSEE7QXREekhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXNEK0dBO0F0RDVHQTtBQUNBO0FzRDJHQTtBdER0REE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FzRDhDQTtBdEQzQ0E7QUFDQTtBc0QwQ0E7QXRET0E7QUFDQTtBc0RJQTtBdERNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQStEQTtBc0RwRUE7QXREOEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FzRC9FQTs7O0FBTUE7QUFNQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFHQTtBQUlBO0ExQm5XQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBMEJnV0E7QUFJQTtBQU1BO0FBRUE7O0E1RWhZQTs7QTZFRUE7QTNFRkE7OztBMkVNQTtBN0VJQTtBQWdCQTs7QTZFaEJBO0E3RVZBOztBNkVhQTtBM0ViQTs7O0EyRWlCQTtBN0VQQTtBQWdCQTs7QTZFTEE7QTFFZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTJFb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOztBOUVoSEE7O0ErRUVBO0E3RUZBOzs7QTZFTUE7QS9FSUE7QUFnQkE7O0ErRWhCQTtBL0VWQTs7QStFYUE7QTdFYkE7OztBNkVpQkE7QS9FUEE7QUFnQkE7O0ErRUxBO0E1RWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0ErRWtDQTtBN0VsQ0E7OztBNkVzQ0E7QS9FNUJBO0FBZ0JBOztBK0VnQkE7QS9FMUNBOztBK0U2Q0E7QTdFN0NBOzs7QTZFaURBO0EvRXZDQTtBQWdCQTs7QStFMkJBO0E1RS9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QStFb0VBO0E3RXBFQTs7O0E2RXdFQTtBL0U5REE7QUFnQkE7O0ErRWtEQTtBL0U1RUE7O0ErRStFQTtBN0UvRUE7OztBNkVtRkE7QS9FekVBO0FBZ0JBOztBK0U2REE7QTVFakZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0ErRW9HQTtBN0VwR0E7OztBNkV3R0E7QS9FOUZBO0FBZ0JBOztBK0VrRkE7QS9FNUdBOztBK0UrR0E7QTdFL0dBOzs7QTZFbUhBO0EvRXpHQTtBQWdCQTs7QStFNkZBO0E1RWpIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QStFc0lBO0E3RXRJQTs7O0E2RTBJQTtBL0VoSUE7QUFnQkE7O0ErRW9IQTtBL0U5SUE7O0ErRWlKQTtBN0VqSkE7OztBNkVxSkE7QS9FM0lBO0FBZ0JBOztBK0UrSEE7QTVFbkpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBNEQ0S0E7QTNENUtBO0FBU0E7QThCVEE7Ozs7Ozs7OztBNkJ3TEE7QS9FeExBOztBK0UyTEE7QTdFM0xBOzs7QTZFK0xBO0EvRXJMQTtBQWdCQTs7QStFeUtBO0FDOUtBO0FBRUE7OztBQUtBO0FBQ0E7QUFOQTs7O0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWRBOzs7QUFpQkE7QUFDQTtBQUNBO0FBQ0E7QUFwQkE7OztBQXVCQTtBQUNBO0FBQ0E7QUF6QkE7OztBQTRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2Q0E7OztBOUJYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBOEJHQTs7O0FBOENBO0FBQ0E7QUEvQ0E7OztBQW1EQTtBQUNBO0FBQ0E7QUFDQTtBeEVnZUE7QXdFdGhCQTs7O0FBeURBO0FBekRBOzs7Ozs7QTFEbUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0EwRGpCQTtBQWxFQTs7Ozs7O0ExRDBKQTtBQUNBO0FBQ0E7QTBENUpBOzs7Ozs7Ozs7OztBMURrS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMEQ1S0E7Ozs7Ozs7Ozs7O0ExRCtLQTtBQUNBO0EwRGhMQTs7Ozs7Ozs7Ozs7Ozs7OztBMURxT0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0EwRDdPQTs7Ozs7Ozs7Ozs7Ozs7OztBMURnUEE7QUFDQTtBMERqUEE7Ozs7OztBMURrU0E7QUFDQTtBZG1QQTtBd0V0aEJBOzs7Ozs7QUFxRUE7QUFyRUE7Ozs7OztBMUQ2U0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTBEblRBOzs7Ozs7QTFEbUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0EwREdBO0FBdEZBOzs7Ozs7QTFEMEpBO0FBQ0E7QUFDQTtBMEQ1SkE7Ozs7Ozs7Ozs7O0ExRGtLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0EwRHZMQTs7Ozs7Ozs7Ozs7QTFEMExBO0FBQ0E7QTBEM0xBOzs7Ozs7Ozs7Ozs7Ozs7O0ExRHFPQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QTBEeFBBOzs7Ozs7Ozs7Ozs7Ozs7O0ExRDJQQTtBQUNBO0EwRDVQQTs7Ozs7O0ExRGtTQTtBQUNBO0FkbVBBO0F3RXRoQkE7Ozs7OztBQXlGQTtBQUNBO0FBMUZBOzs7Ozs7QTFENlNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EwRDlNQTs7Ozs7O0ExRGxDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBMER1QkE7QUFMQTs7Ozs7O0ExRHFEQTtBQUNBO0FBQ0E7QTBEdkRBOzs7Ozs7Ozs7OztBMUQ2REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBMERsRkE7Ozs7Ozs7Ozs7O0ExRHFGQTtBQUNBO0EwRHRGQTs7Ozs7Ozs7Ozs7Ozs7OztBMURnSUE7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0EwRG5KQTs7Ozs7Ozs7Ozs7Ozs7OztBMURzSkE7QUFDQTtBMER2SkE7Ozs7OztBMUQ2TEE7QUFDQTtBMEQ5TEE7Ozs7OztBMUR3TUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTBEblRBOzs7QTFEbUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0EwRHVDQTtBQTFIQTs7O0ExRDBKQTtBQUNBO0FBQ0E7QTBENUpBOzs7OztBMURrS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMEQ1S0E7Ozs7O0ExRCtLQTtBQUNBO0EwRGhMQTs7Ozs7OztBMURxT0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0EwRDdPQTs7Ozs7OztBMURnUEE7QUFDQTtBMERqUEE7OztBMURrU0E7QUFDQTtBMERuU0E7OztBMUQ2U0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMERwVEE7OztBM0VuQkE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FpRWdJQTtBQUNBO0FBQ0E7QUFDQTtBeEU0WUE7QXdFellBO0FBR0E7QUFDQTtBeEVxWUE7QXdFallBO0FBR0E7QUFDQTtBeEU2WEE7QXdFallBOztBQVNBO0FBQ0E7QXhFdVhBO0F3RWpZQTs7QUFnQkE7QUFDQTtBQUNBO0FBS0E7QUFFQTtBQUNBO0F4RXVXQTtBd0UxV0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7O0FoRnROQTs7QWlGRUE7QS9FRkE7OztBK0VNQTtBakZJQTtBQWdCQTs7QWlGaEJBO0FqRlZBOztBaUZhQTtBL0ViQTs7O0ErRWlCQTtBakZQQTtBQWdCQTs7QWlGTEE7QTlFZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QWlGa0NBO0EvRWxDQTs7O0ErRXNDQTtBakY1QkE7QUFnQkE7O0FpRmdCQTtBOUQxQ0E7Ozs7Ozs7O0E4RG1EQTtBN0RuREE7QUFTQTtBOERBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUVrZ0JBO0EwRXZnQkE7QUFRQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFFcWZBO0EwRTFmQTtBQVFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUV3ZUE7QTBFN2VBO0FBUUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0E1RFVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0E0RDFCQTtBM0RqRUE7QTJEaUVBO0EzRDFEQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0EyRG1EQTtBM0R6Q0E7QUFDQTtBQUNBO0FBSUE7QTJEbUNBO0EzRGJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMkRRQTtBM0RBQTtBMkRBQTtBNURpR0E7QUFDQTtBQUNBO0E0RG5HQTtBNUR5R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBNERuSEE7QTVEc0hBO0FBQ0E7QTREdkhBO0E1RDRLQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QTREcExBO0E1RHVMQTtBQUNBO0E0RHhMQTtBNUR5T0E7QUFDQTtBQUNBO0E0RHBPQTtBNUQ2T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FBQ0E7QTREOVBBO0E1RHFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTs7QXRCNWFBOztBbUZFQTtBakZGQTs7O0FpRk1BO0FuRklBO0FBZ0JBOztBbUZoQkE7QW5GVkE7O0FtRmFBO0FqRmJBOzs7QWlGaUJBO0FuRlBBO0FBZ0JBOztBbUZMQTtBaEZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaUZmQTs7Ozs7Ozs7OztBRDBDQTtBbkYxQ0E7O0FtRjZDQTtBakY3Q0E7OztBaUZpREE7QW5GdkNBO0FBZ0JBOztBbUYyQkE7QUUzQkE7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBREE7QUFJQTtBQXJDQTtBQTJDQTtBQTNDQTtBQStDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBT0E7QUFDQTtBQTNCQTtBQXFDQTtBQUNBO0FBaUJBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFVQTtBQVZBO0FBY0E7QUFDQTtBQWZBO0FBbUJBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUVBO0FBS0E7QUFFQTtBQUZBO0FBTUE7QUFqUEE7QUF3UEE7QUF4UEE7QUEyUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBWEE7QUFlQTtBQUlBO0FBbkJBO0FBb0JBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBUkE7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBRHJWQTtBQ3FWQTtBRGxWQTtBQUNBO0FBQ0E7QUFDQTtBQytVQTtBRDNVQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FDOFVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBRHRXQTtBQ3NXQTtBRG5XQTtBQ21XQTtBRC9WQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUNrV0E7QUFDQTtBN0VxSkE7QTZFdEpBO0FBSUE7O0FyRjNaQTs7QXNGRUE7QXBGRkE7OztBb0ZNQTtBdEZJQTtBQWdCQTs7QXNGaEJBO0F0RlZBOztBc0ZhQTtBcEZiQTs7O0FvRmlCQTtBdEZQQTtBQWdCQTs7QXNGTEE7QW5GZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNGa0NBO0FwRmxDQTs7O0FvRnNDQTtBdEY1QkE7QUFnQkE7O0FzRmdCQTtBcEMxQ0E7Ozs7Ozs7OztBb0NvREE7QXRGcERBOztBc0Z1REE7QXBGdkRBOzs7QW9GMkRBO0F0RmpEQTtBQWdCQTs7QXNGcUNBO0F0Ri9EQTs7QXNGa0VBO0FwRmxFQTs7O0FvRnNFQTtBdEY1REE7QUFnQkE7O0FzRmdEQTtBbkZwRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0FtRTZGQTtBbEU3RkE7QUFTQTtBeUJUQTtBQW1EQTtBQ1dBO0EzQjlEQTs7Ozs7Ozs7QW1FMkdBO0FsRTNHQTtBQVNBO0FtRWFBO0FBQ0E7QUFDQTtBL0VxaEJBO0ErRXZoQkE7QUFLQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9FMmdCQTtBK0UvZ0JBO0FBT0E7QS9Fd2dCQTtBK0UvZ0JBO0FBV0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBckNoREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QXFDNENBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QWpFb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FpRTlCQTtBQUNBO0FBUEE7QWpFMkdBO0FBQ0E7QUFDQTtBaUU3R0E7QWpFbUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QWlFN0hBO0FqRWdJQTtBQUNBO0FpRWpJQTtBakVzTEE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FpRTlMQTtBakVpTUE7QUFDQTtBaUVsTUE7QWpFbVBBO0FBQ0E7QWlFMU9BO0FqRW1VQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBaUUzVUE7QUFDQTtBQUNBOztBdkZ4RkE7O0F3RkVBO0F0RkZBOzs7QXNGTUE7QXhGSUE7QUFnQkE7O0F3RmhCQTtBeEZWQTs7QXdGYUE7QXRGYkE7OztBc0ZpQkE7QXhGUEE7QUFnQkE7O0F3RkxBO0FyRmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F3RmtDQTtBdEZsQ0E7OztBc0ZzQ0E7QXhGNUJBO0FBZ0JBOztBd0ZnQkE7QXhGMUNBOztBd0Y2Q0E7QXRGN0NBOzs7QXNGaURBO0F4RnZDQTtBQWdCQTs7QXdGMkJBO0F4RnJEQTs7QXdGd0RBO0F0RnhEQTs7O0FzRjREQTtBeEZsREE7QUFnQkE7O0F3RnNDQTtBckYxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXdGNkVBO0F0RjdFQTs7O0FzRmlGQTtBeEZ2RUE7QUFnQkE7O0F3RjJEQTtBdENyRkE7Ozs7Ozs7OztBc0MrRkE7QXhGL0ZBOztBd0ZrR0E7QXRGbEdBOzs7QXNGc0dBO0F4RjVGQTtBQWdCQTs7QXdGZ0ZBO0F4RjFHQTs7QXdGNkdBO0F0RjdHQTs7O0FzRmlIQTtBeEZ2R0E7QUFnQkE7O0F3RjJGQTtBckYvR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTREZkE7QUFTQTtBQ3lCQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBeERvZkE7QXdEbGZBO0FBVUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQTtBQVZBO0FBY0E7QUFkQTtBQW1CQTtBQUlBO0FBRUE7QUFLQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FkcEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0ExQ3loQkE7QXdEcGJBO0FkakdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWNrSEE7QUMxSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBRCtHQTtBQUNBO0FBQ0E7QUFDQTtBQXFCQTtBeERpWUE7QXdENVpBO0FBYUE7QUFpQkE7QUNuSUE7QUFDQTtBRHNJQTtBQ2xJQTtBQUNBO0FEcUlBO0FDaklBO0FBQ0E7QURvSUE7QUFDQTtBQXdCQTtBQ3RKQTtBekQrZUE7QXdEM2dCQTtBQXVMQTtBQUNBO0F5QjVNQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVhBO0FBMkJBO0FBQ0E7QUFDQTtBQUNBO0FBOUJBO0FBa0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBSUE7QUFLQTtBQUxBO0FBU0E7QUFUQTtBQWFBO0FBYkE7QUFrQkE7QUFsQkE7QUF1QkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWlCQTtBQUNBO0FBQ0E7QUFuQkE7QUF1QkE7QUFDQTtBQXhCQTtBQTRCQTtBQUNBO0FBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBakZvWkE7QWlGaGFBO0FBZ0JBOztBekY3SkE7O0EwRkVBO0F4RkZBOzs7QXdGTUE7QTFGSUE7QUFnQkE7O0EwRmhCQTtBMUZWQTs7QTBGYUE7QXhGYkE7OztBd0ZpQkE7QTFGUEE7QUFnQkE7O0EwRkxBO0F2RmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0EwRmtDQTtBeEZsQ0E7OztBd0ZzQ0E7QTFGNUJBO0FBZ0JBOztBMEZnQkE7QXZFMUNBOzs7Ozs7OztBdUVtREE7QTFGbkRBOztBMEZzREE7QXhGdERBOzs7QXdGMERBO0ExRmhEQTtBQWdCQTs7QTBGb0NBO0ExRjlEQTs7QTBGaUVBO0F4RmpFQTs7O0F3RnFFQTtBMUYzREE7QUFnQkE7O0EwRitDQTtBdkZuRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNDZkE7QUFNQTtBdkNOQTs7O0F3RnlGQTtBQ3pDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFHQTtBQUVBO0FBR0E7QUFHQTtBQTVCQTtBQWtDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdENBO0FBOENBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQVBBO0FBV0E7QUFHQTtBQUVBO0FBQ0E7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFjQTtBQWRBO0FBa0JBO0FBV0E7QUFFQTtBQUNBO0FBSEE7QUFPQTtBQVBBO0FBV0E7QUFYQTtBQWVBO0FBZkE7QUFxQkE7QUFDQTtBQUNBO0FBdkJBO0FBNkJBO0FBS0E7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQURBO0FBSUE7QUFPQTtBQUNBO0FBREE7QUFJQTtBQVFBO0FoRDVMQTtBZ0Q0TEE7QWhEeExBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNkJBO0FBQUE7QWdEcUpBO0FoRHJJQTtBZ0RxSUE7QWhEN0hBO0FBQ0E7QWdENEhBO0FoRDdHQTtBQUNBO0FnRDRHQTtBaEQzRkE7QUFDQTtBZ0QwRkE7QWhEOUVBO0FBQ0E7QWdEK0ZBO0FoRDlNQTtBZ0Q4TUE7QWhEMU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNkJBO0FBQUE7QWdEdUtBO0FoRHZKQTtBZ0R1SkE7QWhEeklBO0FBQ0E7QWdEd0lBO0FoRHpIQTtBQUNBO0FnRHdIQTtBaERwREE7QUFDQTtBZ0RtREE7QWhEdkNBO0FBQ0E7QWdEc0NBO0FBZUE7QUFyTkE7QUFnT0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QTNGelNBOztBNEZFQTtBMUZGQTs7O0EwRk1BO0E1RklBO0FBZ0JBOztBNEZoQkE7QTVGVkE7O0E0RmFBO0ExRmJBOzs7QTBGaUJBO0E1RlBBO0FBZ0JBOztBNEZMQTtBekZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNEZrQ0E7QTFGbENBOzs7QTBGc0NBO0E1RjVCQTtBQWdCQTs7QTRGZ0JBO0FDN0JBO0FBR0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBckZnaEJBO0FxRjFoQkE7QUFjQTtBQUNBO0FyRjJnQkE7QXFGMWhCQTtBQW1CQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FyRnNmQTtBcUY5ZkE7QUFXQTtBQUdBO0FBQ0E7QUFqREE7QUF1REE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBTUE7QUFDQTtBQUNBO0FBaEdBO0FBdUdBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0E3RjlIQTs7QThGRUE7QTVGRkE7OztBNEZNQTtBOUZJQTtBQWdCQTs7QThGaEJBO0E5RlZBOztBOEZhQTtBNUZiQTs7O0E0RmlCQTtBOUZQQTtBQWdCQTs7QThGTEE7QTNGZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QThGa0NBO0E1RmxDQTs7O0E0RnNDQTtBOUY1QkE7QUFnQkE7O0E4RmdCQTtBOUYxQ0E7O0E4RjZDQTtBNUY3Q0E7OztBNEZpREE7QTlGdkNBO0FBZ0JBOztBOEYyQkE7QTNGL0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBOEZvRUE7QTVGcEVBOzs7QTRGd0VBO0E5RjlEQTtBQWdCQTs7QThGa0RBO0E5RjVFQTs7QThGK0VBO0E1Ri9FQTs7O0E0Rm1GQTtBOUZ6RUE7QUFnQkE7O0E4RjZEQTtBM0ZqRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QThGb0dBO0E1RnBHQTs7O0E0RndHQTtBOUY5RkE7QUFnQkE7O0E4RmtGQTtBOUY1R0E7O0E4RitHQTtBNUYvR0E7OztBNEZtSEE7QTlGekdBO0FBZ0JBOztBOEY2RkE7QTNGakhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBOEZzSUE7QTVGdElBOzs7QTRGMElBO0E5RmhJQTtBQWdCQTs7QThGb0hBO0E5RjlJQTs7QThGaUpBO0E1RmpKQTs7O0E0RnFKQTtBOUYzSUE7QUFnQkE7O0E4RitIQTtBM0ZuSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTRGSkE7QTFGUEE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnRmpCQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBOztBL0Y3QkE7O0FnR0VBO0E5RkZBOzs7QThGTUE7QWhHSUE7QUFnQkE7O0FnR2hCQTtBaEdWQTs7QWdHYUE7QTlGYkE7OztBOEZpQkE7QWhHUEE7QUFnQkE7O0FnR0xBO0E3RmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FnR2tDQTtBOUZsQ0E7OztBOEZzQ0E7QWhHNUJBO0FBZ0JBOztBZ0dnQkE7QUNwQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6RmdpQkE7QXlGdmlCQTtBQVVBO0FBQ0E7QXpGNGhCQTtBeUZ2aUJBO0FBZUE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekZtZkE7QXlGeGZBO0FBUUE7QUFDQTtBekYrZUE7QXlGeGZBO0FBYUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBekZxZUE7QXlGdmVBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVdBO0F6RjRkQTtBeUZ2ZUE7QUFnQkE7QUFDQTtBQWpCQTtBQW9CQTtBQUtBO0FBQ0E7QXpGNmNBO0F5RjljQTtBQUlBO0FBQ0E7QUFDQTtBekZ3Y0E7QXlGOWNBO0FBVUE7QUFDQTtBQUlBO0FBQ0E7QXpGOGJBO0F5Ri9iQTtBQUtBO0FBQ0E7QXpGeWJBO0F5Ri9iQTtBQVVBO0F6RnFiQTtBeUYvYkE7QUFjQTtBekZpYkE7QXlGN2FBO0FBR0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0F6RnNaQTtBeUZ6WkE7QUFNQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFyRUE7QUF5RUE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpGc1VBO0F5RjFVQTtBQU1BOztBakd6T0E7O0FrR0VBO0FoR0ZBOzs7QWdHTUE7QWxHSUE7QUFnQkE7O0FrR2hCQTtBbEdWQTs7QWtHYUE7QWhHYkE7OztBZ0dpQkE7QWxHUEE7QUFnQkE7O0FrR0xBO0EvRmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F1QmZBOzs7O0F3RW9DQTtBaERwQ0E7Ozs7Ozs7OztBZ0Q4Q0E7QUNwQ0E7QUNKQTtBRElBO0FDREE7QUFDQTtBREFBO0FDR0E7QURIQTtBQ1NBO0FBQ0E7QURWQTtBQ2VBO0FEZkE7QUNvQkE7QURwQkE7QUFJQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQVhBO0FBY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7OztBakR6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QWlEVkE7QUE0Q0E7QUE1Q0E7O0FBaURBO0FBQ0E7QUFDQTtBQW5EQTs7QUFzREE7QUF0REE7O0FBMERBO0FBQ0E7QUEzREE7QUFpRUE7QUFDQTtBQUNBO0FBQ0E7QUFwRUE7QUEwRUE7QUFDQTtBQUNBO0FBQ0E7QUE3RUE7QUFrRkE7QUFsRkE7QUF3RkE7QUFHQTtBQUVBO0FBN0ZBO0FBbUdBO0FBbkdBOztBQXlHQTtBQUNBO0FBMUdBOztBQTRHQTtBQTVHQTs7OztBQWdIQTtBQUNBO0FBQ0E7QUFDQTtBQW5IQTs7QUF1SEE7QUFDQTtBQXhIQTs7QUEwSEE7QUExSEE7Ozs7QUE4SEE7QUFDQTtBQUNBO0FBQ0E7QUFqSUE7QUF1SUE7QUFDQTtBQXhJQTtBQTBJQTtBQTFJQTs7QUE4SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QW5HbkxBOztBcUdFQTtBbkdGQTs7O0FtR01BO0FyR0lBO0FBZ0JBOztBcUdoQkE7QXJHVkE7O0FxR2FBO0FuR2JBOzs7QW1HaUJBO0FyR1BBO0FBZ0JBOztBcUdMQTtBbEdmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBcUdrQ0E7QW5HbENBOzs7QW1Hc0NBO0FyRzVCQTtBQWdCQTs7QXFHZ0JBO0FyRzFDQTs7QXFHNkNBO0FuRzdDQTs7O0FtR2lEQTtBckd2Q0E7QUFnQkE7O0FxRzJCQTtBckdyREE7O0FxR3dEQTtBbkd4REE7OztBbUc0REE7QXJHbERBO0FBZ0JBOztBcUdzQ0E7QWxHMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQmZBO0FBU0E7QUNUQTs7OztBMkVpRkE7QW5HakZBOzs7QW1HcUZBO0FqQnJGQTs7Ozs7Ozs7OztBaUJnR0E7QUNoR0E7Ozs7OztBRHVHQTtBdkV2R0E7O0F1RTBHQTtBbkQxR0E7Ozs7Ozs7OztBbURvSEE7QXJHcEhBOztBcUd1SEE7QW5HdkhBOzs7QW1HMkhBO0FyR2pIQTtBQWdCQTs7QXFHcUdBO0FyRy9IQTs7QXFHa0lBO0FuR2xJQTs7O0FtR3NJQTtBckc1SEE7QUFnQkE7O0FxR2dIQTtBbEdwSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXFHdUpBO0FuR3ZKQTs7O0FtRzJKQTtBckdqSkE7QUFnQkE7O0FxR3FJQTtBckcvSkE7O0FxR2tLQTtBbkdsS0E7OztBbUdzS0E7QXJHNUpBO0FBZ0JBOztBcUdnSkE7QXJHMUtBOztBcUc2S0E7QW5HN0tBOzs7QW1HaUxBO0FyR3ZLQTtBQWdCQTs7QXFHMkpBO0FsRy9LQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBc0JmQTtBQVNBO0FDVEE7Ozs7QTJFc01BO0FuR3RNQTs7O0FtRzBNQTtBakIxTUE7Ozs7Ozs7Ozs7QWlCcU5BO0FDck5BOzs7Ozs7QUQ0TkE7QXZFNU5BOztBdUUrTkE7QW5EL05BOzs7Ozs7Ozs7QW1EeU9BO0FFbENBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0YrVkE7QStGdFdBO0FBV0E7QUFJQTtBQUVBO0FBSUE7O0FBR0E7QUFtQkE7QUFJQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QS9Gb1FBO0ErRnZRQTtBQU1BO0FBT0E7QUFDQTtBL0Z5UEE7QStGMVBBO0FBTUE7QUE1QkE7QUFvQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQi9UQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QW1CaVVBO0FBQ0E7QUFDQTtBQUNBO0EvRndNQTtBK0YzTUE7QUFNQTtBQU5BO0FBVUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0F6RXBZQTtBQUNBO0FBQ0E7QXlFcVlBO0FBQ0E7QUFHQTtBQUNBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUlBO0FBQ0E7QUFTQTtBQVNBO0EzRW5aQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQnlmQTtBK0ZuSEE7QUFHQTtBQUdBO0EzRWxYQTtBQUNBO0EyRWlYQTtBM0V0VkE7QUFFQTtBQUNBO0EyRTJWQTtBM0U5WUE7QUFDQTtBMkU2WUE7QTNFOVZBO0FBRUE7QUFDQTtBMkVtV0E7QTNFNVlBO0FBQ0E7QTJFMllBO0EzRXRXQTtBQUVBO0FBQ0E7QTJFMldBO0EzRS9ZQTtBQUNBO0EyRThZQTtBM0U5V0E7QUFFQTtBQUNBO0EyRW1YQTtBM0V4WUE7QUFDQTtBMkV1WUE7QTNFdFhBO0FBRUE7QUFDQTtBMkU0WEE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFUQTtBQWFBO0FBSUE7QTNFaFpBO0FBRUE7QUFDQTtBMkVrWkE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QS9GNEJBO0ErRi9CQTtBQU1BO0FBT0E7QUFDQTtBL0ZpQkE7QStGbEJBO0FBTUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0ZkQTtBK0ZNQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9GakNBO0ErRjRCQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBL0Z4REE7QStGNERBO0FBRUE7QUFFQTtBQUNBO0FBS0E7QUFWQTtBQVdBO0FBQ0E7QUFaQTs7QUFrQkE7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0EvRnRIQTtBK0ZxSEE7QUFJQTtBQU9BO0FBQ0E7QS9GaklBO0ErRmdJQTtBQU1BO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0EvRnpLQTtBK0Z3S0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QS9GOUxBO0ErRjJMQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQU9BO0FBQ0E7QUFuREE7QUF3REE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFNQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBTkE7QUFVQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBL0ZwU0E7QStGa1NBO0FBS0E7QUFPQTtBQUNBO0EvRi9TQTtBK0Y4U0E7QUFNQTtBQU9BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRkE7O0FBV0E7QUFLQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBTEE7O0FBV0E7QUFTQTtBQUVBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQU1BO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQXpCQTtBQTRCQTtBQTVCQTtBQWdDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWJBO0FBaUJBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvRmxmQTtBK0Y2ZUE7QUFRQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QS9GaGdCQTtBK0Y4ZkE7QUFPQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBbEJBO0FBc0JBO0FBR0E7O0FBRUE7QUEzQkE7QUErQkE7QUFLQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQVZBO0FBV0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FyRHJuQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QXFEa25DQTtBckQxbkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FxRHVuQ0E7QUFDQTtBQUNBO0FBR0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUtBO0FBQ0E7QUFYQTtBQWdCQTtBQWhCQTtBQW1CQTtBQUNBO0FBQ0E7QUFyQkE7QUEwQkE7QUFDQTtBQUNBO0FBQ0E7QUE3QkE7QUFtQ0E7QUFDQTtBQUNBO0FBckNBO0FBMENBO0FBQ0E7QUFHQTtBQUNBO0FBNEJBO0FBaUNBO0FBOURBO0FBS0E7QUFMQTtBQWdDQTtBQWhDQTtBQXNDQTtBQTZCQTtBQUNBO0FBQ0E7QUFDQTtBQWFBO0FBaEJBO0FBTUE7QUFOQTtBQVdBO0FBWEE7QUFtQkE7QUFuQkE7QUF1QkE7QUFrRUE7QUFFQTtBQUZBO0FBTUE7QUFDQTtBQzVwQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoRzZWQTtBZ0dwV0E7QUFXQTtBQUlBO0FBRUE7QUFJQTs7QUFHQTtBQW1CQTtBQUlBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBaEdrUUE7QWdHclFBO0FBTUE7QUFPQTtBQUNBO0FoR3VQQTtBZ0d4UEE7QUFNQTtBQTVCQTtBQW9DQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBCalVBO0FvQjZUQTtBcEIxVEE7QUFDQTtBQUNBO0FBQ0E7QW9CdVRBO0FwQm5UQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FvQm1VQTtBQUNBO0FBQ0E7QUFDQTtBaEdzTUE7QWdHek1BO0FBTUE7QUFOQTtBQVVBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0ExRXZZQTtBQUNBO0FBQ0E7QTBFd1lBO0FBQ0E7QUFHQTtBQUNBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUlBO0FBQ0E7QUFTQTtBQVNBO0E1RXRaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQnlmQTtBZ0doSEE7QUFHQTtBQUdBO0E1RXJYQTtBQUNBO0E0RW9YQTtBNUV6VkE7QTRFeVZBO0E1RXRWQTtBNEU4VkE7QTVFalpBO0FBQ0E7QTRFZ1pBO0E1RWpXQTtBNEVpV0E7QTVFOVZBO0E0RXNXQTtBNUUvWUE7QUFDQTtBNEU4WUE7QTVFeldBO0E0RXlXQTtBNUV0V0E7QTRFOFdBO0E1RWxaQTtBQUNBO0E0RWlaQTtBNUVqWEE7QTRFaVhBO0E1RTlXQTtBNEVzWEE7QTVFM1lBO0FBQ0E7QTRFMFlBO0E1RXpYQTtBNEV5WEE7QTVFdFhBO0E0RStYQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQVRBO0FBYUE7QUFJQTtBNUVuWkE7QTRFbVpBO0E1RWhaQTtBNEVxWkE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QWhHeUJBO0FnRzVCQTtBQU1BO0FBT0E7QUFDQTtBaEdjQTtBZ0dmQTtBQU1BO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhHakJBO0FnR1NBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEdwQ0E7QWdHK0JBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FoRzNEQTtBZ0crREE7QUFFQTtBQUVBO0FBQ0E7QUFLQTtBQVZBO0FBV0E7QUFDQTtBQVpBOztBQWtCQTtBQUtBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFDQTtBQVNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FoRzlIQTtBZ0c2SEE7QUFJQTtBQU9BO0FBQ0E7QWhHeklBO0FnR3dJQTtBQU1BO0FBT0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFDQTtBQVNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTtBaEd0TEE7QWdHcUxBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FoRzNNQTtBZ0d3TUE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFPQTtBQUNBO0FBbkRBO0FBd0RBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBTUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQU5BO0FBVUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QWhHalRBO0FnRytTQTtBQUtBO0FBT0E7QUFDQTtBaEc1VEE7QWdHMlRBO0FBTUE7QUFPQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBOztBQU9BO0FBQ0E7QUFVQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBTEE7O0FBV0E7QUFTQTtBQUVBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQTVCQTtBQStCQTtBQS9CQTtBQW1DQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWJBO0FBaUJBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoRzFnQkE7QWdHcWdCQTtBQVFBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBaEd4aEJBO0FnR3NoQkE7QUFPQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBSUE7QUFDQTtBQUtBO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQXZCQTtBQTJCQTtBQUdBOztBQUVBO0FBaENBO0FBb0NBO0FBTUE7QUFDQTtBQUtBO0FBQ0E7QUFPQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFEQTtBQUdBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFWQTtBQVdBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBdERwcUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FzRGlxQ0E7QXREenFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBc0RzcUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBWEE7QUFnQkE7QUFoQkE7QUFtQkE7QUFDQTtBQUNBO0FBckJBO0FBMEJBO0FBQ0E7QUFDQTtBQUNBO0FBN0JBO0FBbUNBO0FBQ0E7QUFDQTtBQXJDQTtBQTBDQTtBQUNBO0FBM0NBO0FBNkNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBUkE7QUFhQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFmQTtBQU1BO0FBTkE7QUFVQTtBQVZBO0FBa0JBO0FBbEJBO0FBc0JBO0FBd0RBO0FBRUE7QUFGQTtBQU1BOztBeEczMUNBOztBeUdFQTtBdkdGQTs7O0F1R01BO0F6R0lBO0FBZ0JBOztBeUdoQkE7QXpHVkE7O0F5R2FBO0F2R2JBOzs7QXVHaUJBO0F6R1BBO0FBZ0JBOztBeUdMQTtBdEdmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMkJmQTs7QTJFa0NBO0F6R2xDQTs7QXlHcUNBO0F2R3JDQTs7O0F1R3lDQTtBekcvQkE7QUFnQkE7O0F5R21CQTtBQ3JDQTtBNUVIQTtBQUNBO0FBQ0E7QTRFTUE7QUFDQTtBQU5BO0FBV0E7QUFDQTtBQVpBO0FBZUE7QWxHc2hCQTtBa0dqaEJBO0FBR0E7QUFDQTtBQUpBO0FBT0E7O0ExR25DQTs7QTJHRUE7QXpHRkE7OztBeUdNQTtBM0dJQTtBQWdCQTs7QTJHaEJBO0EzR1ZBOztBMkdhQTtBekdiQTs7O0F5R2lCQTtBM0dQQTtBQWdCQTs7QTJHTEE7QXhHZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTJHa0NBO0F6R2xDQTs7O0F5R3NDQTtBM0c1QkE7QUFnQkE7O0EyR2dCQTtBekQxQ0E7Ozs7Ozs7OztBeURvREE7QXhGcERBOzs7Ozs7OztBd0Y2REE7QXhGN0RBOzs7Ozs7OztBd0ZzRUE7QXZGdEVBO0FBU0E7QXdGd0RBO0FBR0E7QUFIQTtBQU1BO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBcEcrY0E7QW9HaGRBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQUE7QUFPQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FwR3NiQTtBb0czYkE7QUFTQTtBQUtBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FwR3VaQTtBb0c3WkE7QUFVQTtBQUNBO0FwR2taQTtBb0c3WkE7QUFlQTtBcEc4WUE7QW9HMVlBO0FBRUE7QUFGQTtBQU1BO0FwR29ZQTtBb0cxWUE7QUFTQTtBQUdBO0FBQ0E7QUFVQTtBdEZoR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXNGZ0ZBO0F0RlRBO0FBQ0E7QUFDQTtBc0ZPQTtBdEZEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FzRnBCQTtBdEZ1QkE7QUFDQTtBc0Z4QkE7QXRGa0VBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBc0ZyRkE7QXRGd0ZBO0FBQ0E7QXNGekZBO0F0RitIQTtBQUNBO0FzRmhJQTtBdEYwSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNGaEpBO0F0RnlOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcUNBO0FzRjlPQTtBdEZwSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXNGb0dBO0F0RjdCQTtBQUNBO0FBQ0E7QXNGMkJBO0F0RnJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FzRldBO0F0RlJBO0FBQ0E7QXNGT0E7QXRGOENBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBc0Z0REE7QXRGeURBO0FBQ0E7QXNGMURBO0F0RjJHQTtBQUNBO0FzRjVHQTtBdEZzSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNGNUhBO0F0RnFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcUNBO0FzRnJOQTtBdEY3SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXNGNkhBO0F0RnREQTtBQUNBO0FBQ0E7QXNGb0RBO0F0RjlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FzRnlCQTtBdEZ0QkE7QUFDQTtBc0ZxQkE7QXRGcUJBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBc0Z4Q0E7QXRGMkNBO0FBQ0E7QXNGNUNBO0F0RmtGQTtBQUNBO0FzRm5GQTtBdEY2RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNGbkdBO0F0RjRLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcUNBO0FzRi9MQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QXBHd1FBO0FvRzdRQTtBQVlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUJBO0FBaUNBO0FBQ0E7QUFLQTtBQUNBOztBQUVBO0FBRUE7O0FBRUE7QUFFQTs7QUFFQTtBQUNBO0FBWkE7QUFDQTs7QUFFQTtBQUVBOztBQUVBO0FBRUE7O0FBRUE7O0E1R2xWQTs7QTZHRUE7QTNHRkE7OztBMkdNQTtBN0dJQTtBQWdCQTs7QTZHaEJBO0E3R1ZBOztBNkdhQTtBM0diQTs7O0EyR2lCQTtBN0dQQTtBQWdCQTs7QTZHTEE7QTFHZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZHa0NBO0EzR2xDQTs7O0EyR3NDQTtBN0c1QkE7QUFnQkE7O0E2R2dCQTtBN0cxQ0E7O0E2RzZDQTtBM0c3Q0E7OztBMkdpREE7QTdHdkNBO0FBZ0JBOztBNkcyQkE7QTdHckRBOztBNkd3REE7QTNHeERBOzs7QTJHNERBO0E3R2xEQTtBQWdCQTs7QTZHc0NBO0ExRzFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZ0JmQTs7Ozs7Ozs7QTBGbUZBO0F6Rm5GQTtBQVNBO0F5QlRBO0FBbURBO0FDV0E7QUk5REE7Ozs7Ozs7OztBMkRrR0E7QUNsRUE7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBNUQ1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QTREeUJBO0E1RGpDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBNEQ2QkE7QWhFa0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnRTVHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVhBO0FoRW1IQTtBQUNBO0FnRXBIQTtBaEV5SEE7QUFDQTtBZ0UxSEE7QWhFeUhBO0FBQ0E7QWdFMUhBO0FoRXlIQTtBQUNBO0FnRTFIQTtBaEU4SEE7QWdFOUhBO0FBZ0JBO0FBQ0E7QUFDQTtBQWxCQTtBQXNCQTtBQXRCQTtBQXlCQTtBQXpCQTtBQThCQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFlQTtBQUNBO0FBaEJBO0FBbUJBO0FBbkJBO0FBeUJBO0FBQ0E7QUFDQTtBQTNCQTtBQThCQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBREE7QUFPQTtBQUNBO0FBQ0E7QUFUQTtBQVlBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTs7QTlHaktBOztBK0dFQTtBN0dGQTs7O0E2R01BO0EvR0lBO0FBZ0JBOztBK0doQkE7QS9HVkE7O0ErR2FBO0E3R2JBOzs7QTZHaUJBO0EvR1BBO0FBZ0JBOztBK0dMQTtBNUdmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNkdQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWhCQTtBQXFCQTtBQUNBOztBaEg5QkE7O0FpSEVBO0EvR0ZBOzs7QStHTUE7QWpISUE7QUFnQkE7O0FpSGhCQTtBakhWQTs7QWlIYUE7QS9HYkE7OztBK0dpQkE7QWpIUEE7QUFnQkE7O0FpSExBO0E5R2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpSGtDQTtBL0dsQ0E7OztBK0dzQ0E7QWpINUJBO0FBZ0JBOztBaUhnQkE7QW5GMUNBOztBbUY2Q0E7QUNsQkE7QXBGdEJBO0FBQ0E7QUFDQTtBb0Z5QkE7QUFDQTtBQU9BO0FBQ0E7QTFHb2dCQTtBMEdsaEJBO0FBaUJBO0ExR2lnQkE7QTBHbGhCQTtBQXNCQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFjQTtBQUtBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QWxIeEdBOztBbUhFQTtBakhGQTs7O0FpSE1BO0FuSElBO0FBZ0JBOztBbUhoQkE7QW5IVkE7O0FtSGFBO0FqSGJBOzs7QWlIaUJBO0FuSFBBO0FBZ0JBOztBbUhMQTtBaEhmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBbUhrQ0E7QWpIbENBOzs7QWlIc0NBO0FuSDVCQTtBQWdCQTs7QW1IZ0JBO0FqRTFDQTs7Ozs7Ozs7O0FpRW9EQTtBQ1pBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBRUE7QUFGQTtBQU1BO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUF6QkE7QUE2QkE7QUFDQTtBQXBEQTtBQXlEQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBTkE7QUFVQTtBQUNBO0FBWEE7QUFlQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUZBO0FBTUE7QUFnQkE7QUFDQTtBQUlBO0FBQ0E7QUFhQTtBQUpBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFEQTtBQUtBO0FBTEE7QUFRQTtBQVJBO0FBS0E7QUFMQTtBQVFBO0FBUkE7QUFLQTtBQUxBO0FBUUE7QUFSQTtBQUtBO0FBTEE7QUFRQTtBQVJBO0FBS0E7QUFMQTtBQVFBO0FBUkE7QUFjQTtBQWRBO0FBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBNUdvVkE7QTRHNVdBO0FBMkJBO0FBRUE7QUE3QkE7QUFpQ0E7QUFDQTtBQWxDQTtBbEV6S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QWxEL0JBOztBcUhFQTtBbkhGQTs7O0FtSE1BO0FySElBO0FBZ0JBOztBcUhoQkE7QXJIVkE7O0FxSGFBO0FuSGJBOzs7QW1IaUJBO0FySFBBO0FBZ0JBOztBcUhMQTtBbEhmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBK0NmQTs7Ozs7Ozs7O0FtRXlDQTtBckh6Q0E7O0FxSDRDQTtBbkg1Q0E7OztBbUhnREE7QXJIdENBO0FBZ0JBOztBcUgwQkE7QW5IcERBOzs7QW1Id0RBO0FsR3hEQTs7Ozs7Ozs7QWtHaUVBO0FqR2pFQTtBQVNBO0FEVEE7Ozs7Ozs7O0FrRzRFQTtBQUNBO0FDdUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlHcWJBO0E2R3pkQTtBQ3dDQTtBRHRDQTtBQzJDQTtBQUNBO0FBSUE7QUFDQTtBQURBO0FBS0E7QUFDQTtBQUNBO0E5R2dhQTtBOEd2YUE7QUFjQTtBQUNBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFTQTtBQVRBO0FBYUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0E5R3FYQTtBOEc3WEE7QUFlQTtBQWZBO0FBdUJBO0FBQ0E7QUFDQTtBQU1BO0FwRW5NQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FvRThMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBU0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBOUcyVUE7QThHOVVBO0FBWUE7QUFDQTtBQVdBO0FBQ0E7QUFEQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQXRCQTtBQTBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsQ0E7QUFzQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbERBO0FBdURBO0FBQ0E7QUF4REE7QUEyREE7QUEzREE7QUFpRUE7QUFqRUE7QUFvRUE7QUFDQTtBQUNBO0FBdEVBO0FBeUVBO0FBekVBO0FBZ0ZBO0FBaEZBO0FBdUZBO0FBQ0E7QUF4RkE7QUE0RkE7QUE1RkE7QUErRkE7QUFDQTtBQUNBO0FBQ0E7QUFsR0E7QUEwR0E7QUFDQTtBQTNHQTtBQThHQTtBQUNBO0FBS0E7QXBFdldBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FvRW9XQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBckJBOztBQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQTlCQTs7QUFvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBWUE7QUFHQTtBQUlBO0FBQ0E7QUFjQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBTEE7QUFTQTs7QXRIL2RBOztBdUhFQTtBckhGQTs7O0FxSE1BO0F2SElBO0FBZ0JBOztBdUhoQkE7QXZIVkE7O0F1SGFBO0FySGJBOzs7QXFIaUJBO0F2SFBBO0FBZ0JBOztBdUhMQTtBcEhmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBdUhrQ0E7QXJIbENBOzs7QXFIc0NBO0F2SDVCQTtBQWdCQTs7QXVIZ0JBO0F2SDFDQTs7QXVINkNBO0FySDdDQTs7O0FxSGlEQTtBdkh2Q0E7QUFnQkE7O0F1SDJCQTtBdkhyREE7O0F1SHdEQTtBckh4REE7OztBcUg0REE7QXZIbERBO0FBZ0JBOztBdUhzQ0E7QXBIMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBdUgrRUE7QXJIL0VBOzs7QXFIbUZBO0F2SHpFQTtBQWdCQTs7QXVINkRBO0F2SHZGQTs7QXVIMEZBO0FySDFGQTs7O0FxSDhGQTtBdkhwRkE7QUFnQkE7O0F1SHdFQTtBcEg1RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVIK0dBO0FySC9HQTs7O0FxSG1IQTtBdkh6R0E7QUFnQkE7O0F1SDZGQTtBdkh2SEE7O0F1SDBIQTtBckgxSEE7OztBcUg4SEE7QXZIcEhBO0FBZ0JBOztBdUh3R0E7QXBINUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBdUhpSkE7QXJIakpBOzs7QXFIcUpBO0F2SDNJQTtBQWdCQTs7QXVIK0hBO0F2SHpKQTs7QXVINEpBO0FySDVKQTs7O0FxSGdLQTtBdkh0SkE7QUFnQkE7O0F1SDBJQTtBcEg5SkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTJCZkE7O0F5RmlMQTtBQzVKQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FoSGtoQkE7QWdIeGhCQTtBQVNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhIc2dCQTtBZ0gzZ0JBO0FBUUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QWhIc2ZBO0FnSHhmQTtBQUtBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7O0ExRnBFQTtBQUNBO0FBQ0E7QTBGc0VBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBaEhrZEE7QWdIM2RBO0FBYUE7QUFDQTtBQWRBO0FBb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFHQTtBQVFBO0FBUkE7QXpHMUVBO0FBQ0E7QXlHeUVBO0F6R2pFQTtBQUNBO0F5RzJFQTtBQUNBO0FBQ0E7QUFHQTtBQU1BO0FBQ0E7QUFQQTtBekcxRkE7QUFDQTtBeUd5RkE7QXpHakZBO0FBQ0E7QUFDQTtBeUcyRkE7QUFDQTtBQUNBOztBeEhuSkE7O0F5SEVBO0F2SEZBOzs7QXVITUE7QXpISUE7QUFnQkE7O0F5SGhCQTtBekhWQTs7QXlIYUE7QXZIYkE7OztBdUhpQkE7QXpIUEE7QUFnQkE7O0F5SExBO0F0SGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F5SGtDQTtBdkhsQ0E7OztBdUhzQ0E7QXpINUJBO0FBZ0JBOztBeUhnQkE7QXpIMUNBOztBeUg2Q0E7QXZIN0NBOzs7QXVIaURBO0F6SHZDQTtBQWdCQTs7QXlIMkJBO0F0SC9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QXlIb0VBO0F2SHBFQTs7O0F1SHdFQTtBekg5REE7QUFnQkE7O0F5SGtEQTtBekg1RUE7O0F5SCtFQTtBdkgvRUE7OztBdUhtRkE7QXpIekVBO0FBZ0JBOztBeUg2REE7QXRIakZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F5SG9HQTtBdkhwR0E7OztBdUh3R0E7QXpIOUZBO0FBZ0JBOztBeUhrRkE7QXpINUdBOztBeUgrR0E7QXZIL0dBOzs7QXVIbUhBO0F6SHpHQTtBQWdCQTs7QXlINkZBO0F0SGpIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QXlIc0lBO0F2SHRJQTs7O0F1SDBJQTtBekhoSUE7QUFnQkE7O0F5SG9IQTtBekg5SUE7O0F5SGlKQTtBdkhqSkE7OztBdUhxSkE7QXpIM0lBO0FBZ0JBOztBeUgrSEE7QXRIbkpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F1SFpBO0FySENBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EyR3hCQTtBckhIQTtBVXFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMkdwQkE7QXJIUEE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTJHaEJBO0FySFhBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EyR1pBO0FySGZBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EyR1JBO0FySG5CQTtBVXFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMkdKQTtBM0dnQkE7QUFDQTtBQUNBO0EyR2xCQTtBM0d5QkE7QUFDQTtBQUNBO0EyR3ZCQTs7QTNHNkJBO0FBQ0E7QTJHOUJBOztBM0dvQ0E7O0FmbkVBOztBMkhFQTtBekhGQTs7O0F5SE1BO0EzSElBO0FBZ0JBOztBMkhoQkE7QTNIVkE7O0EySGFBO0F6SGJBOzs7QXlIaUJBO0EzSFBBO0FBZ0JBOztBMkhMQTtBeEhmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBK0NmQTs7Ozs7Ozs7O0F5RXlDQTtBQ3RDQTtBMUVTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7QWxEcEJBOztBNkhFQTtBM0hGQTs7O0EySE1BO0E3SElBO0FBZ0JBOztBNkhoQkE7QTdIVkE7O0E2SGFBO0EzSGJBOzs7QTJIaUJBO0E3SFBBO0FBZ0JBOztBNkhMQTtBMUhmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNkhrQ0E7QTNIbENBOzs7QTJIc0NBO0E3SDVCQTtBQWdCQTs7QTZIZ0JBO0E3SDFDQTs7QTZINkNBO0EzSDdDQTs7O0EySGlEQTtBN0h2Q0E7QUFnQkE7O0E2SDJCQTtBN0hyREE7O0E2SHdEQTtBM0h4REE7OztBMkg0REE7QTdIbERBO0FBZ0JBOztBNkhzQ0E7QTFIMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBMEdtRkE7QXpHbkZBO0FBU0E7QXlCVEE7QUFtREE7QUNXQTtBaEI5REE7O0ErRjJGQTtBN0gzRkE7O0E2SDhGQTtBM0g5RkE7OztBMkhrR0E7QTdIeEZBO0FBZ0JBOztBNkg0RUE7QTdIdEdBOztBNkh5R0E7QTNIekdBOzs7QTJINkdBO0E3SG5HQTtBQWdCQTs7QTZIdUZBO0ExSDNHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBc0NmQTtBQU1BO0FxRnNDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBbkYvRkE7QW1GOEZBO0FuRjFGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBaUJBO0FBQUE7QW1GdURBO0FuRmhEQTtBQUtBO0FBSUE7QW1GdUNBO0FuRjVCQTtBQUNBO0FtRjJCQTtBbkZaQTtBQUNBO0FBVUE7QUFzQ0E7QUF0Q0E7QUFrREE7QW1GaENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBaEcvS0E7QUFDQTtBQUNBO0FnR2lMQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQWJBOztBQW1CQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUxBO0FBU0E7QUFUQTtBQWFBO0FBQ0E7O0E5SDdQQTs7QStIRUE7QTdIRkE7OztBNkhNQTtBL0hJQTtBQWdCQTs7QStIaEJBO0EvSFZBOztBK0hhQTtBN0hiQTs7O0E2SGlCQTtBL0hQQTtBQWdCQTs7QStITEE7QTVIZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QStIa0NBO0E3SGxDQTs7O0E2SHNDQTtBL0g1QkE7QUFnQkE7O0ErSGdCQTtBakcxQ0E7O0FpRzZDQTtBL0g3Q0E7O0ErSGdEQTtBN0hoREE7OztBNkhvREE7QS9IMUNBO0FBZ0JBOztBK0g4QkE7QS9IeERBOztBK0gyREE7QTdIM0RBOzs7QTZIK0RBO0EvSHJEQTtBQWdCQTs7QStIeUNBO0E1SDdEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBc0NmQTtBQU1BO0F0Qk5BOzs7Ozs7OztBNEd3RkE7QUNyREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQURBO0FBSUE7QUFJQTtBbEcvQ0E7QUFDQTtBQUNBO0FrRytDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FyRjFDQTtBcUZ1Q0E7QXJGbkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZ0JBO0FBYUE7QUFBQTtBcUZBQTtBckZnQkE7QXFGaEJBO0FyRjhCQTtBQUNBO0FxRi9CQTtBckY4Q0E7QUFDQTtBcUYvQ0E7QXJGbUhBO0FBQ0E7QXFGcEhBO0FyRmdJQTtBQUNBO0FxRmpJQTtBQWtCQTtBQUNBO0FBS0E7QUFDQTtBckZoRUE7QXFGK0RBO0FyRjNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWdCQTtBQWFBO0FBQUE7QXFGd0JBO0FyRlJBO0FxRlFBO0FyRkFBO0FBQ0E7QXFGREE7QXJGZ0JBO0FBQ0E7QXFGakJBO0FyRmtDQTtBQUNBO0FxRm5DQTtBckYrQ0E7QUFDQTtBcUYvRUE7QUFrREE7QUFDQTtBQUtBO0FBQ0E7QXhINGFBO0F3SDdhQTtBQUlBOztBaElwSUE7O0FpSUVBO0EvSEZBOzs7QStITUE7QWpJSUE7QUFnQkE7O0FpSWhCQTtBaklWQTs7QWlJYUE7QS9IYkE7OztBK0hpQkE7QWpJUEE7QUFnQkE7O0FpSUxBO0E5SGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBOEd3Q0E7QTdHeENBO0FBU0E7QXBCVEE7O0FpSTZDQTtBL0g3Q0E7OztBK0hpREE7QWpJdkNBO0FBZ0JBOztBaUkyQkE7QWpJckRBOztBaUl3REE7QS9IeERBOzs7QStINERBO0FqSWxEQTtBQWdCQTs7QWlJc0NBO0E5SDFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QWlJK0VBO0EvSC9FQTs7O0ErSG1GQTtBakl6RUE7QUFnQkE7O0FpSTZEQTtBakl2RkE7O0FpSTBGQTtBL0gxRkE7OztBK0g4RkE7QWpJcEZBO0FBZ0JBOztBaUl3RUE7QTlINUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpSStHQTtBL0gvR0E7OztBK0htSEE7QWpJekdBO0FBZ0JBOztBaUk2RkE7QWpJdkhBOztBaUkwSEE7QS9IMUhBOzs7QStIOEhBO0FqSXBIQTtBQWdCQTs7QWlJd0dBO0E5SDVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QWlJaUpBO0EvSGpKQTs7O0ErSHFKQTtBakkzSUE7QUFnQkE7O0FpSStIQTtBakl6SkE7O0FpSTRKQTtBL0g1SkE7OztBK0hnS0E7QWpJdEpBO0FBZ0JBOztBaUkwSUE7QTlIOUpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpSWlMQTtBL0hqTEE7OztBK0hxTEE7QWpJM0tBO0FBZ0JBOztBaUkrSkE7QUM5SkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdEJBO0FBMEJBO0FBQ0E7QUEzQkE7QUE4QkE7QUFDQTtBQUNBO0FBQ0E7QUFqQ0E7QUFvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXhDQTtBQTRDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbkRBO0FBc0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUhrY0E7QTBIN2ZBO0FBOERBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBNUczREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QTRHMkNBO0E1RzRCQTtBQUNBO0FBQ0E7QTRHOUJBO0E1R29DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0E0RzlDQTtBNUdpREE7QUFDQTtBNEdsREE7QTVHdUdBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBNEcvR0E7QTVHa0hBO0FBQ0E7QTRHbkhBO0E1R29LQTtBQUNBO0E0R3JLQTtBNUcrS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTRHeEtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFuSkE7QUF1SkE7O0FsSWxMQTs7QW1JRUE7QWpJRkE7OztBaUlNQTtBbklJQTtBQWdCQTs7QW1JaEJBO0FuSVZBOztBbUlhQTtBakliQTs7O0FpSWlCQTtBbklQQTtBQWdCQTs7QW1JTEE7QWhJZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QW1Ja0NBO0FqSWxDQTs7O0FpSXNDQTtBbkk1QkE7QUFnQkE7O0FtSWdCQTtBbkkxQ0E7O0FtSTZDQTtBakk3Q0E7OztBaUlpREE7QW5JdkNBO0FBZ0JBOztBbUkyQkE7QUNrQkE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVINFhBO0E0SDVZQTtBQXVCQTtBQUNBO0FBeEJBO0FBNEJBO0FBNUJBO0FBaUNBO0FBakNBO0FBdUNBO0FBdkNBO0FBMkRBO0FBQ0E7QUFDQTtBQTdEQTtBQTRDQTtBQTVDQTtBQWdEQTtBQUNBO0FBakRBO0FBcURBO0FBQ0E7QUF0REE7QUFrRUE7QUFsRUE7QUFxRUE7QUFyRUE7QUEwRUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBcEl0UEE7O0FxSUVBO0FuSUZBOzs7QW1JTUE7QXJJSUE7QUFnQkE7O0FxSWhCQTtBcklWQTs7QXFJYUE7QW5JYkE7OztBbUlpQkE7QXJJUEE7QUFnQkE7O0FxSUxBO0FsSWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FxSWtDQTtBbklsQ0E7OztBbUlzQ0E7QXJJNUJBO0FBZ0JBOztBcUlnQkE7QXJJMUNBOztBcUk2Q0E7QW5JN0NBOzs7QW1JaURBO0FySXZDQTtBQWdCQTs7QXFJMkJBO0FsSS9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QXFJb0VBO0FuSXBFQTs7O0FtSXdFQTtBckk5REE7QUFnQkE7O0FxSWtEQTtBckk1RUE7O0FxSStFQTtBbkkvRUE7OztBbUltRkE7QXJJekVBO0FBZ0JBOztBcUk2REE7QWxJakZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FxSW9HQTtBbklwR0E7OztBbUl3R0E7QXJJOUZBO0FBZ0JBOztBcUlrRkE7QXJJNUdBOztBcUkrR0E7QW5JL0dBOzs7QW1JbUhBO0FySXpHQTtBQWdCQTs7QXFJNkZBO0FsSWpIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QXFJc0lBO0FuSXRJQTs7O0FtSTBJQTtBckloSUE7QUFnQkE7O0FxSW9IQTtBckk5SUE7O0FxSWlKQTtBbklqSkE7OztBbUlxSkE7QXJJM0lBO0FBZ0JBOztBcUkrSEE7QWxJbkpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FtSU9BO0FBR0E7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0F2SEtBO0FBQ0E7QXVITkE7QXZIY0E7QUFDQTtBdUhDQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQVBBO0F2SFhBO0FBQ0E7QXVIVUE7QXZIRkE7QUFDQTtBdUhzQkE7QUFDQTtBQUdBO0FBRUE7O0FDakZBO0FBRUE7O0F2SUZBOztBd0lFQTtBdElGQTs7O0FzSU1BO0F4SUlBO0FBZ0JBOztBd0loQkE7QXhJVkE7O0F3SWFBO0F0SWJBOzs7QXNJaUJBO0F4SVBBO0FBZ0JBOztBd0lMQTtBcklmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBd0lrQ0E7QXRJbENBOzs7QXNJc0NBO0F4STVCQTtBQWdCQTs7QXdJZ0JBO0F4STFDQTs7QXdJNkNBO0F0STdDQTs7O0FzSWlEQTtBeEl2Q0E7QUFnQkE7O0F3STJCQTtBeElyREE7O0F3SXdEQTtBdEl4REE7OztBc0k0REE7QXhJbERBO0FBZ0JBOztBd0lzQ0E7QXJJMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQmZBO0FBU0E7QUtUQTs7QTBHK0VBO0FDM0RBOztBRDhEQTtBaEkyZEE7QWlJdmdCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBakk4ZkE7QWlJL2ZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBaklrZkE7QWlJcmZBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0EzR2hFQTtBQUNBO0FBQ0E7QTJHZ0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBM0czRUE7QUFDQTtBQUNBO0EyRzJFQTtBQUNBO0FBS0E7QUFDQTtBQUdBO0E3R3JEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNkc0Q0E7QTdHckNBO0FBQ0E7QTZHb0NBO0E3R1dBO0E2R1hBO0E3R2NBO0E2R05BO0E3R3pCQTtBQUNBO0E2R3dCQTtBN0dHQTtBNkdIQTtBN0dNQTtBNkdFQTtBN0d0Q0E7QUFDQTtBNkdxQ0E7QTdHTEE7QTZHS0E7QTdHRkE7QTZHVUE7QTdHbkRBO0FBQ0E7QTZHa0RBO0E3R2JBO0E2R2FBO0E3R1ZBO0E2R2tCQTtBN0dsQ0E7QUFDQTtBNkdpQ0E7QTdHckJBO0E2R3FCQTtBN0dsQkE7QUFDQTtBNkcwQkE7QTdHOUJBO0E2RzhCQTtBN0czQkE7QUFDQTtBNkcrQkE7O0FENENBO0FDekNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUZBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFZQTtBQUNBO0FBT0E7QUFFQTtBQUZBO0FBS0E7QUFDQTtBakl1V0E7QWlJbldBO0FBR0E7QUFDQTtBQUNBO0FBTEE7QUFTQTtBQUNBO0FqSXlWQTtBaUluV0E7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqSWtWQTtBaUluV0E7QUFzQkE7QUFDQTtBQUlBOztBQUdBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUdBO0FBRUE7QUFDQTtBakl5VEE7QWlJdFRBO0FBRUE7QUFDQTtBakltVEE7QWlJaFRBO0FBRUE7QUFDQTtBakk2U0E7QWlJdFNBO0FBRUE7QUFDQTs7QXpJMVFBOztBMElFQTtBeElGQTs7O0F3SU1BO0ExSUlBO0FBZ0JBOztBMEloQkE7QTFJVkE7O0EwSWFBO0F4SWJBOzs7QXdJaUJBO0ExSVBBO0FBZ0JBOztBMElMQTtBdklmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBMElrQ0E7QXhJbENBOzs7QXdJc0NBO0ExSTVCQTtBQWdCQTs7QTBJZ0JBO0F2SDFDQTs7Ozs7Ozs7QXVIbURBO0F0SG5EQTtBQVNBO0F1SG1CQTtBQUlBO0FBR0E7O0FEdUJBO0FDOUJBO0FBWUE7QUFaQTtBQWdCQTtBQUNBO0FBQ0E7QUFsQkE7QUFzQkE7QUFDQTtBQUNBO0FBeEJBO0FBMkJBO0FBM0JBO0FBbUNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBbkkrZEE7QW1JNWRBO0FBRUE7QUFDQTtBQUNBO0FBSkE7QUFRQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQVRBO0FBYUE7QW5JOGJBO0FtSTFiQTtBQUVBO0FBRkE7QUFPQTtBQVBBO0FBV0E7QUFLQTtBQUNBO0FuSXlhQTtBbUkxYUE7QUFJQTtBQUNBO0FBTEE7QUFRQTtBbklrYUE7QW1JMWFBO0FBYUE7QUFiQTtBQWtCQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUVBO0FBSUE7QUFDQTtBQUNBO0FBN0pBO0FBaUtBO0FBQ0E7O0EzSTlMQTs7QTRJRUE7QTFJRkE7OztBMElNQTtBNUlJQTtBQWdCQTs7QTRJaEJBO0E1SVZBOztBNElhQTtBMUliQTs7O0EwSWlCQTtBNUlQQTtBQWdCQTs7QTRJTEE7QXpJZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTRJa0NBO0ExSWxDQTs7O0EwSXNDQTtBNUk1QkE7QUFnQkE7O0E0SWdCQTtBOUcxQ0E7O0E4RzZDQTtBNUk3Q0E7O0E0SWdEQTtBMUloREE7OztBMElvREE7QTVJMUNBO0FBZ0JBOztBNEk4QkE7QTVJeERBOztBNEkyREE7QTFJM0RBOzs7QTBJK0RBO0E1SXJEQTtBQWdCQTs7QTRJeUNBO0F6STdEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNElnRkE7QTFJaEZBOzs7QTBJb0ZBO0E1STFFQTtBQWdCQTs7QTRJOERBO0F6SHhGQTs7Ozs7Ozs7QXlIaUdBO0F4SGpHQTtBQVNBO0FNVEE7Ozs7QWtId0dBO0E1SXhHQTs7QTRJMkdBO0ExSTNHQTs7O0EwSStHQTtBNUlyR0E7QUFnQkE7O0E0SXlGQTtBNUluSEE7O0E0SXNIQTtBMUl0SEE7OztBMEkwSEE7QTVJaEhBO0FBZ0JBOztBNElvR0E7QXpJeEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E0STJJQTtBMUkzSUE7OztBMEkrSUE7QTVJcklBO0FBZ0JBOztBNEl5SEE7QTlHbkpBOztBOEdzSkE7QTVJdEpBOztBNEl5SkE7QTFJekpBOzs7QTBJNkpBO0E1SW5KQTtBQWdCQTs7QTRJdUlBO0E1SWpLQTs7QTRJb0tBO0ExSXBLQTs7O0EwSXdLQTtBNUk5SkE7QUFnQkE7O0E0SWtKQTtBekl0S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTRJeUxBO0ExSXpMQTs7O0EwSTZMQTtBNUluTEE7QUFnQkE7O0E0SXVLQTtBekhqTUE7Ozs7Ozs7O0F5SDBNQTtBeEgxTUE7QUFTQTtBTVRBOzs7O0FrSGlOQTtBQ3BHQTtBQUNBO0FBQ0E7QUFDQTtBQXlPQTtBQVlBO0FBaUhBOztBRDVQQTtBQzZTQTs7QUQxU0E7QXBJZ1ZBO0FxSWhjQTtBQU1BO0FBR0E7QUFDQTtBQUNBO0FBRkE7QUFLQTtBcklrYkE7QXFJdmJBO0FBU0E7QXJJOGFBO0FxSXZiQTtBQWFBO0FBYkE7QUFrQkE7QUFJQTtBQUNBO0FBREE7QUFLQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFHQTtBQUhBO0FBT0E7QUFJQTtBQUNBO0FBREE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7QUFDQTtBQUNBO0FBWkE7QUFlQTtBQWZBO0FBb0JBO0FBcEJBO0FBdUJBO0FBQ0E7QUFDQTtBQUNBO0FBMUJBO0FBZ0NBO0FBQ0E7QUFDQTtBQXBIQTtBQXlJQTtBQXpJQTtBQThJQTtBQUdBOztBQUdBO0FBSEE7O0FBT0E7QUFJQTtBQUdBO0FBSEE7QUFPQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFPQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FySWlQQTtBcUkxUEE7QUFNQTtBQUlBO0FBQ0E7QUFJQTtBdkh4T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXVIOE5BO0F0SDVUQTtBQUdBO0FBSUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBUUE7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQW9CQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBRUE7QURnR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFtREE7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFnREE7QUFDQTtBQUNBO0F1SGlCQTtBdkhQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QXVIVEE7QXZIaUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0F1SGxGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QS9HNVdBO0FBQ0E7QUFDQTtBK0c0V0E7QUFPQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBREE7QUFLQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQVhBO0FBZUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0EvR3hhQTtBQUNBO0FBQ0E7QStHd2FBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFNQTtBQUdBO0FBSEE7O0FBV0E7QUFYQTtBQWlCQTtBQUNBO0FBbEJBO0FBcUJBO0FBckJBO0FBMkJBO0FBM0JBO0FBZ0NBO0FBT0E7QUFFQTtBQXJaQTtBQStaQTtBQS9aQTtBQW1hQTtBQW5hQTtBQXNhQTtBQXRhQTtBQTBhQTtBQTFhQTtBQWdiQTtBQWhiQTtBQXFiQTtBQUNBO0FBdGJBO0FBNmJBO0FBN2JBO0F2SG5CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBdUh3Y0E7QXZIbFlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBbURBO0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBZ0RBO0FBQ0E7QUFDQTtBdUg3TUE7QXZIdU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXdINU5BO0FBQ0E7QUFDQTtBQUNBO0FBNE9BO0FBWUE7QUFpSEE7O0FGdUdBO0FFdERBOztBRnlEQTtBcEl4QkE7QXNJOWJBO0FBTUE7QUFHQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0F0SWdiQTtBc0lyYkE7QUFTQTtBdEk0YUE7QXNJcmJBO0FBYUE7QUFiQTtBQWtCQTtBQUlBO0FBQ0E7QUFEQTtBQUtBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0STRYQTtBc0l2WUE7QUFjQTtBQUtBO0FBR0E7QUFIQTtBQU9BO0FBSUE7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQVpBO0FBZUE7QUFDQTtBQUNBO0FBakJBO0FBb0JBO0FBcEJBO0FBeUJBO0FBQ0E7QUExQkE7QUE0QkE7QUFDQTtBQUNBO0FBQ0E7QUEvQkE7QUFxQ0E7QUFDQTtBQUNBO0FBNUhBO0FBaUpBO0FBR0E7O0FBR0E7QUFIQTs7QUFPQTtBQUlBO0FBR0E7QUFIQTtBQU9BO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQU9BO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QXRJNE9BO0FzSXJQQTtBQU1BO0FBSUE7QUFDQTtBQUlBO0F4SDdPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBd0htT0E7QUFOQTtBdkh4VEE7QXVId1RBO0F2SGpUQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0F1SDBTQTtBdkhoU0E7QUFDQTtBQUNBO0FBSUE7QXVIMFJBO0F2SHBRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXVIK1BBO0F2SHZQQTtBdUh1UEE7QXhIdEpBO0FBQ0E7QUFDQTtBd0hvSkE7QXhIOUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXdIb0lBO0F4SGpJQTtBQUNBO0F3SGdJQTtBeEgzRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F3SG1FQTtBeEhoRUE7QUFDQTtBd0grREE7QXhIZEE7QUFDQTtBd0hzQkE7QXhIWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0F3SEpBO0F4SDREQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBd0g3RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FoSGpYQTtBQUNBO0FBQ0E7QWdIaVhBO0FBT0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQURBO0FBS0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFYQTtBQWVBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBaEg3YUE7QUFDQTtBQUNBO0FnSDZhQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBTUE7QUFHQTtBQUhBOztBQVdBO0FBWEE7QUFpQkE7QUFDQTtBQWxCQTtBQXFCQTtBQXJCQTtBQTJCQTtBQTNCQTtBQWdDQTtBQU9BO0FBRUE7QUF4WkE7QUFrYUE7QUFsYUE7QUFzYUE7QUF0YUE7QUF5YUE7QUF6YUE7QUE2YUE7QUE3YUE7QUFtYkE7QUFuYkE7QUF3YkE7QUFDQTtBQXpiQTtBQWdjQTtBQWhjQTtBeEhyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdINmNBO0FBeGNBO0F4SGtFQTtBQUNBO0FBQ0E7QXdIcEVBO0F4SDBFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F3SHBGQTtBeEh1RkE7QUFDQTtBd0h4RkE7QXhINklBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBd0hySkE7QXhId0pBO0FBQ0E7QXdIekpBO0F4SDBNQTtBQUNBO0F3SDNNQTtBeEhxTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXdIM05BO0FBbWRBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUhBOzs7O0FBUUE7QUFFQTtBQUNBO0FBWEE7Ozs7QUFtQkE7QUFDQTtBQUNBO0FBckJBO0FBd0JBO0FBeEJBO0FBMEJBO0FBQ0E7QXRJckRBO0FzSTJEQTtBQVFBO0FBUkE7QUFXQTtBQUNBO0FBQ0E7QUFHQTtBQUNBOztBOUl6bkJBOztBK0lFQTtBN0lGQTs7O0E2SU1BO0EvSUlBO0FBZ0JBOztBK0loQkE7QS9JVkE7O0ErSWFBO0E3SWJBOzs7QTZJaUJBO0EvSVBBO0FBZ0JBOztBK0lMQTtBNUlmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBK0lrQ0E7QTdJbENBOzs7QTZJc0NBO0EvSTVCQTtBQWdCQTs7QStJZ0JBO0E1SDFDQTs7Ozs7Ozs7QTRIbURBO0EzSG5EQTtBQVNBO0FNVEE7Ozs7QXFIMERBO0FqSDFEQTs7QWlINkRBO0FDaENBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBMUh5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QTBIbERBO0FBQ0E7QUFSQTtBMUhnSUE7QUFDQTtBQUNBO0EwSGxJQTtBMUh3SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBMEg3SkE7QTFIZ0tBO0FBQ0E7QTBIaktBO0ExSDJNQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QTBIOU5BO0ExSGlPQTtBQUNBO0EwSGxPQTtBMUh3UUE7QUFDQTtBMEg3UEE7QWxIeERBO0FBQ0E7QUFDQTtBa0gyREE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4SW9kQTtBd0l6ZEE7QUFRQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBSUE7QUFDQTtBQUdBO0ExSDVDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBMEhtQ0E7QUFDQTtBQVJBO0ExSDJDQTtBQUNBO0FBQ0E7QTBIN0NBO0ExSG1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0EwSDdEQTtBMUhnRUE7QUFDQTtBMEhqRUE7QTFIc0hBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMEg5SEE7QTFIaUlBO0FBQ0E7QTBIbElBO0ExSG1MQTtBQUNBOztBdEIxVEE7O0FpSkVBO0EvSUZBOzs7QStJTUE7QWpKSUE7QUFnQkE7O0FpSmhCQTtBakpWQTs7QWlKYUE7QS9JYkE7OztBK0lpQkE7QWpKUEE7QUFnQkE7O0FpSkxBO0E5SWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBOEh3Q0E7QTdIeENBO0FBU0E7QThISEE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0E1SGtFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBNEhsRkE7QTNIVEE7QTJIU0E7QTNIRkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBMkhMQTtBM0hlQTtBQUNBO0FBQ0E7QUFJQTtBMkhyQkE7QTNIMkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMkhoREE7QTNId0RBO0EySHhEQTtBNUh5SkE7QUFDQTtBQUNBO0E0SDNKQTtBNUhpS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBNEgzS0E7QTVIOEtBO0FBQ0E7QTRIL0tBO0E1SG9PQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QTRINU9BO0E1SCtPQTtBQUNBO0E0SGhQQTtBNUhpU0E7QUFDQTtBQUNBO0E0SDVSQTtBNUhxU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FBQ0E7QTRIdFRBO0E1SDZXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0E0SC9YQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBVUE7O0FsSnhEQTs7QW1KRUE7QWpKRkE7OztBaUpNQTtBbkpJQTtBQWdCQTs7QW1KaEJBO0FuSlZBOztBbUphQTtBakpiQTs7O0FpSmlCQTtBbkpQQTtBQWdCQTs7QW1KTEE7QWhKZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QW1Ka0NBO0FqSmxDQTs7O0FpSnNDQTtBbko1QkE7QUFnQkE7O0FtSmdCQTtBbkoxQ0E7O0FtSjZDQTtBako3Q0E7OztBaUppREE7QW5KdkNBO0FBZ0JBOztBbUoyQkE7QW5KckRBOztBbUp3REE7QWpKeERBOzs7QWlKNERBO0FuSmxEQTtBQWdCQTs7QW1Kc0NBO0FoSjFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBbUo2RUE7QWpKN0VBOzs7QWlKaUZBO0FuSnZFQTtBQWdCQTs7QW1KMkRBO0FDL0RBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQU9BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7O0FBRUE7QUFFQTs7QUFFQTtBQUVBOztBQUVBO0FBQ0E7QUFaQTtBQUNBOztBQUVBO0FBRUE7O0FBRUE7QUFFQTs7QUFFQTs7QXBKckZBOztBcUpFQTtBbkpGQTs7O0FtSk1BO0FySklBO0FBZ0JBOztBcUpoQkE7QXJKVkE7O0FxSmFBO0FuSmJBOzs7QW1KaUJBO0FySlBBO0FBZ0JBOztBcUpMQTtBbEpmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBcUprQ0E7QW5KbENBOzs7QW1Kc0NBO0FySjVCQTtBQWdCQTs7QXFKZ0JBO0FySjFDQTs7QXFKNkNBO0FuSjdDQTs7O0FtSmlEQTtBckp2Q0E7QUFnQkE7O0FxSjJCQTtBckpyREE7O0FxSndEQTtBbkp4REE7OztBbUo0REE7QXJKbERBO0FBZ0JBOztBcUpzQ0E7QWxKMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FxSjZFQTtBbko3RUE7OztBbUppRkE7QXJKdkVBO0FBZ0JBOztBcUoyREE7QUMvRUE7QUNXQTtBQUNBO0FBR0E7QURmQTtBQUtBO0FBTUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUVBO0FDUkE7QUFDQTtBQUdBO0FEU0E7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBRENBO0FDRUE7QURFQTtBQ0dBO0FBQ0E7QUFDQTtBRERBO0FDS0E7QUFDQTs7QXZKNUNBOztBd0pFQTtBdEpGQTs7O0FzSk1BO0F4SklBO0FBZ0JBOztBd0poQkE7QXhKVkE7O0F3SmFBO0F0SmJBOzs7QXNKaUJBO0F4SlBBO0FBZ0JBOztBd0pMQTtBckpmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBd0prQ0E7QXRKbENBOzs7QXNKc0NBO0F4SjVCQTtBQWdCQTs7QXdKZ0JBO0F4SjFDQTs7QXdKNkNBO0F0SjdDQTs7O0FzSmlEQTtBeEp2Q0E7QUFnQkE7O0F3SjJCQTtBeEpyREE7O0F3SndEQTtBdEp4REE7OztBc0o0REE7QXhKbERBO0FBZ0JBOztBd0pzQ0E7QXJKMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F3SjZFQTtBdEo3RUE7OztBc0ppRkE7QXhKdkVBO0FBZ0JBOztBd0oyREE7QUMvRUE7QUZXQTtBQUNBO0FBR0E7QUVmQTtBQUtBO0FBTUE7QUZTQTtBQUNBO0FBQ0E7QUFDQTtBRVpBO0FGZUE7QUVYQTtBRmdCQTtBQUNBO0FBQ0E7O0F2SnZDQTs7QTBKRUE7QXhKRkE7OztBd0pNQTtBMUpJQTtBQWdCQTs7QTBKaEJBO0ExSlZBOztBMEphQTtBeEpiQTs7O0F3SmlCQTtBMUpQQTtBQWdCQTs7QTBKTEE7QXZKZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTBKa0NBO0F4SmxDQTs7O0F3SnNDQTtBMUo1QkE7QUFnQkE7O0EwSmdCQTtBMUoxQ0E7O0EwSjZDQTtBeEo3Q0E7OztBd0ppREE7QTFKdkNBO0FBZ0JBOztBMEoyQkE7QTFKckRBOztBMEp3REE7QXhKeERBOzs7QXdKNERBO0ExSmxEQTtBQWdCQTs7QTBKc0NBO0F2SjFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBMEo2RUE7QXhKN0VBOzs7QXdKaUZBO0ExSnZFQTtBQWdCQTs7QTBKMkRBO0FDL0VBO0FBS0E7QUFDQTtBQUdBO0FKRUE7QUFDQTtBQUdBO0FBQ0E7QUlIQTtBSk9BO0FBQ0E7QUFDQTtBQUNBO0FJVkE7QUphQTtBQUNBO0FJVkE7QUpjQTtBQUNBO0FBQ0E7QUFDQTtBSWJBO0FKZ0JBO0FBQ0E7O0F2SjVDQTs7QTRKRUE7QTFKRkE7OztBMEpNQTtBNUpJQTtBQWdCQTs7QTRKaEJBO0E1SlZBOztBNEphQTtBMUpiQTs7O0EwSmlCQTtBNUpQQTtBQWdCQTs7QTRKTEE7QXpKZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTRKa0NBO0ExSmxDQTs7O0EwSnNDQTtBNUo1QkE7QUFnQkE7O0E0SmdCQTtBNUoxQ0E7O0E0SjZDQTtBMUo3Q0E7OztBMEppREE7QTVKdkNBO0FBZ0JBOztBNEoyQkE7QTVKckRBOztBNEp3REE7QTFKeERBOzs7QTBKNERBO0E1SmxEQTtBQWdCQTs7QTRKc0NBO0F6SjFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNEo2RUE7QTFKN0VBOzs7QTBKaUZBO0E1SnZFQTtBQWdCQTs7QTRKMkRBO0FDL0VBO0FBR0E7QU5RQTtBQUNBO0FBR0E7QU1mQTtBQVNBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QU5FQTtBQUNBO0FBQ0E7QUFDQTtBTUhBO0FBRkE7QU5RQTtBTUhBO0FOY0E7QUFDQTtBTWJBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBTkNBO0FBQ0E7QU1BQTtBQUNBO0FBRUE7QUFDQTs7QTdKaERBOztBOEpFQTtBNUpGQTs7O0E0Sk1BO0E5SklBO0FBZ0JBOztBOEpoQkE7QTlKVkE7O0E4SmFBO0E1SmJBOzs7QTRKaUJBO0E5SlBBO0FBZ0JBOztBOEpMQTtBM0pmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBOEprQ0E7QTVKbENBOzs7QTRKc0NBO0E5SjVCQTtBQWdCQTs7QThKZ0JBO0FDMUNBOzs7O0FEK0NBO0E5Si9DQTs7QThKa0RBO0E1SmxEQTs7O0E0SnNEQTtBOUo1Q0E7QUFnQkE7O0E4SmdDQTtBOUoxREE7O0E4SjZEQTtBNUo3REE7OztBNEppRUE7QTlKdkRBO0FBZ0JBOztBOEoyQ0E7QTNKL0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E2SmZBO0FsSUFBOztBZ0ltRkE7QTVKbkZBOzs7QTRKdUZBO0FHekJBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBeko4ZEE7QXlKaGVBO0FBS0E7QUFDQTtBQU5BOztBQVlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQWNBOztBSElBO0FHMkNBOztBSHhDQTtBR3VHQTs7QUhwR0E7QUd5SkE7O0FIdEpBO0FHZ0xBOztBSDdLQTtBRzlCQTtBQUVBO0FBRkE7QUZ6RkE7QUV5RkE7QUZ6RkE7QUV5RkE7QUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBeEJBO0FBK0JBO0FBL0JBO0FBb0NBO0FBQ0E7QUFyQ0E7QUEyQ0E7QUFDQTtBQTVDQTtBQWtEQTtBQWxEQTtBQXdEQTtBQXhEQTtBQWlFQTtBQWpFQTtBQXNFQTtBQXRFQTtBQXlFQTtBQXpFQTtBQThFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBdkZBO0FBMkZBO0FBM0ZBO0FBc0dBO0FBdEdBO0FBMkdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWhIQTtBQW1IQTtBQW5IQTtBQXlIQTtBQXpIQTtBQWtJQTtBQWxJQTtBQXNJQTtBQUNBO0FBQ0E7QUF4SUE7QUE0SUE7QUFDQTtBQTdJQTtBQWtKQTtBQWxKQTtBQXVKQTtBQUNBO0FBQ0E7QUF6SkE7QUErSkE7QUFDQTtBQWhLQTtBQXNLQTtBQXRLQTtBQTRLQTtBQTVLQTtBbkk5RkE7QUFDQTtBQUNBO0FvSTJDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUR5Q0E7QUN0Q0E7QURzQ0E7QUNyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRGNBO0FDWEE7QURXQTtBQ0RBO0FEQ0E7QUNNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEaEJBOztBQXdNQTtBQXhNQTtBQStNQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBbE5BO0FBeU5BO0FBQ0E7QUExTkE7QUErTkE7QUFDQTtBQWhPQTtBQXNPQTtBQXRPQTtBQTJPQTtBQTNPQTtBQWlQQTtBQWpQQTtBQW9QQTtBQUNBO0FBS0E7O0FIN0VBO0FHZ0ZBO0FBQ0E7QUFFQTtBQUNBO0FBSEE7QUFPQTtBQUNBO0FBUkE7QUFZQTtBQUNBO0FBQ0E7QUFFQTs7QWpLalhBOztBbUtFQTtBaktGQTs7O0FpS01BO0FuS0lBO0FBZ0JBOztBbUtoQkE7QW5LVkE7O0FtS2FBO0FqS2JBOzs7QWlLaUJBO0FuS1BBO0FBZ0JBOztBbUtMQTtBaEtmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBbUtrQ0E7QWpLbENBOzs7QWlLc0NBO0FuSzVCQTtBQWdCQTs7QW1LZ0JBO0FuSzFDQTs7QW1LNkNBO0FqSzdDQTs7O0FpS2lEQTtBbkt2Q0E7QUFnQkE7O0FtSzJCQTtBaEsvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QW1La0VBO0FqS2xFQTs7O0FpS3NFQTtBbks1REE7QUFnQkE7O0FtS2dEQTtBNUcxRUE7QUFTQTtBdkRUQTs7QW1LK0VBO0FqSy9FQTs7O0FpS21GQTtBbkt6RUE7QUFnQkE7O0FtSzZEQTtBbkt2RkE7O0FtSzBGQTtBaksxRkE7OztBaUs4RkE7QW5LcEZBO0FBZ0JBOztBbUt3RUE7QWhLNUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QVNOQTs7Ozs7Ozs7O0FpSHdIQTtBQy9GQTtBQUNBO0E1Sm1oQkE7QTRKcGhCQTtBQUlBO0E1SmdoQkE7QTRKcGhCQTtBQVNBO0FBSUE7QUFDQTtBQUdBO0FBSUE7QTVKK2ZBO0E0Sm5nQkE7QUFPQTtBNUo0ZkE7QTRKbmdCQTtBQVdBO0FBWEE7QUFlQTtBQUNBO0E1Sm1mQTtBNEpuZ0JBO0FBbUJBO0FBS0E7QUFHQTtBQUdBO0FsSDVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBa0g0REE7QUFDQTtBQUNBO0FBRkE7O0FBT0E7QUFDQTtBQVJBOzs7QUFZQTtBNUppZEE7QTRKN2RBO0FBa0JBO0FBQ0E7QUFLQTtBM0dyRkE7QUFDQTtBQUNBO0FBQ0E7QTJHcUZBO0FBQ0E7QTVKaWNBO0E0SnJjQTtBQU9BO0FBUEE7QXpIaEVBO0F5SGdFQTtBekg1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFtQkE7QUFVQTtBQUFBO0F5SHlCQTtBekg0SUE7QUFDQTtBeUg3SUE7QXpIaUpBO0F5SGpKQTtBekhzSkE7QUFDQTtBeUh2SkE7QXpIMkpBO0FuQzBTQTtBNEpyY0E7QUFnQkE7QUFFQTtBQUtBO0FBQ0E7QUFHQTtBM0doR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMkc2RkE7QTVKc2FBO0E0SjFhQTtBM0d0RkE7QTJHc0ZBO0EzR2hGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqRHNmQTtBNEoxYUE7QTNHekVBO0EyR3lFQTtBM0dwRUE7QTJHb0VBO0EzR2hFQTtBakQwZUE7QTRKMWFBO0EzR2hHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EyR21HQTtBNUpnYUE7QTRKMWFBO0EzR3RGQTtBakRnZ0JBO0E0SjFhQTtBM0doRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakRzZkE7QTRKMWFBO0EzR3pFQTtBakRtZkE7QTRKMWFBO0EzR3BFQTtBMkdvRUE7QTNHaEVBO0EyR2dFQTtBQWNBO0FBZEE7QUFtQkE7QUFDQTtBQXBCQTtBQXVCQTtBQXZCQTtBQTJCQTtBQUNBO0FBS0E7QUFDQTtBNUp3WUE7QTRKellBO0EzR3BGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakR1ZEE7QTRKellBO0EzRzNFQTtBQUNBO0EyR29GQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7QXBLN0xBOztBcUtFQTtBbktGQTs7O0FtS01BO0FyS0lBO0FBZ0JBOztBcUtoQkE7QXJLVkE7O0FxS2FBO0FuS2JBOzs7QW1LaUJBO0FyS1BBO0FBZ0JBOztBcUtMQTtBbEtmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBcUtrQ0E7QW5LbENBOzs7QW1Lc0NBO0FySzVCQTtBQWdCQTs7QXFLZ0JBO0F2STFDQTs7QXVJNkNBO0FuSDdDQTs7Ozs7Ozs7O0FtSHVEQTtBckt2REE7O0FxSzBEQTtBbksxREE7OztBbUs4REE7QXJLcERBO0FBZ0JBOztBcUt3Q0E7QXJLbEVBOztBcUtxRUE7QW5LckVBOzs7QW1LeUVBO0FySy9EQTtBQWdCQTs7QXFLbURBO0FsS3ZFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QXFLNEZBO0FuSzVGQTs7O0FtS2dHQTtBckt0RkE7QUFnQkE7O0FxSzBFQTtBcktwR0E7O0FxS3VHQTtBbkt2R0E7OztBbUsyR0E7QXJLakdBO0FBZ0JBOztBcUtxRkE7QWxLekdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FxSzRIQTtBbks1SEE7OztBbUtnSUE7QXJLdEhBO0FBZ0JBOztBcUswR0E7QXJLcElBOztBcUt1SUE7QW5LdklBOzs7QW1LMklBO0FyS2pJQTtBQWdCQTs7QXFLcUhBO0FsS3pJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QXFLOEpBO0FuSzlKQTs7O0FtS2tLQTtBckt4SkE7QUFnQkE7O0FxSzRJQTtBckt0S0E7O0FxS3lLQTtBbkt6S0E7OztBbUs2S0E7QXJLbktBO0FBZ0JBOztBcUt1SkE7QWxLM0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FtS0tBO0FBQ0E7QUFDQTtBOUp1aEJBO0E4SnpoQkE7QUFLQTtBQUdBO0FwSGhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBb0hZQTtBeEkzQkE7QUFDQTtBQUNBO0F3STRCQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFOQTtBQVVBO0FBVkE7QUFjQTtBQUlBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBdkpmQTtBQUNBO0F1SmNBO0F2Sk5BO0FBQ0E7QXVKakNBO0FBb0RBO0FBcERBO0FBd0RBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7O0F0S3BGQTs7QXVLRUE7QXJLRkE7OztBcUtNQTtBdktJQTtBQWdCQTs7QXVLaEJBO0F2S1ZBOztBdUthQTtBcktiQTs7O0FxS2lCQTtBdktQQTtBQWdCQTs7QXVLTEE7QXBLZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVLa0NBO0FyS2xDQTs7O0FxS3NDQTtBdks1QkE7QUFnQkE7O0F1S2dCQTtBdksxQ0E7O0F1SzZDQTtBcks3Q0E7OztBcUtpREE7QXZLdkNBO0FBZ0JBOztBdUsyQkE7QXBLL0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBdUtvRUE7QXJLcEVBOzs7QXFLd0VBO0F2SzlEQTtBQWdCQTs7QXVLa0RBO0F2SzVFQTs7QXVLK0VBO0FySy9FQTs7O0FxS21GQTtBdkt6RUE7QUFnQkE7O0F1SzZEQTtBcEtqRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVLb0dBO0FyS3BHQTs7O0FxS3dHQTtBdks5RkE7QUFnQkE7O0F1S2tGQTtBdks1R0E7O0F1SytHQTtBcksvR0E7OztBcUttSEE7QXZLekdBO0FBZ0JBOztBdUs2RkE7QXBLakhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBdUtzSUE7QXJLdElBOzs7QXFLMElBO0F2S2hJQTtBQWdCQTs7QXVLb0hBO0F2SzlJQTs7QXVLaUpBO0FyS2pKQTs7O0FxS3FKQTtBdkszSUE7QUFnQkE7O0F1SytIQTtBcEtuSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVLc0tBO0FyS3RLQTs7O0FxSzBLQTtBdktoS0E7QUFnQkE7O0F1S29KQTtBdks5S0E7O0F1S2lMQTtBcktqTEE7OztBcUtxTEE7QXZLM0tBO0FBZ0JBOztBdUsrSkE7QXBLbkxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QXpDTkE7O0F1S3dNQTtBckt4TUE7OztBcUs0TUE7QXZLbE1BO0FBZ0JBOztBdUtzTEE7QXZLaE5BOztBdUttTkE7QXJLbk5BOzs7QXFLdU5BO0F2SzdNQTtBQWdCQTs7QXVLaU1BO0F2SzNOQTs7QXVLOE5BO0FySzlOQTs7O0FxS2tPQTtBdkt4TkE7QUFnQkE7O0F1SzRNQTtBcEtoT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVLbVBBO0FyS25QQTs7O0FxS3VQQTtBdks3T0E7QUFnQkE7O0F1S2lPQTtBdkszUEE7O0F1SzhQQTtBcks5UEE7OztBcUtrUUE7QXZLeFBBO0FBZ0JBOztBdUs0T0E7QXBLaFFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBdUtxUkE7QXJLclJBOzs7QXFLeVJBO0F2Sy9RQTtBQWdCQTs7QXVLbVFBO0F2SzdSQTs7QXVLZ1NBO0FyS2hTQTs7O0FxS29TQTtBdksxUkE7QUFnQkE7O0F1SzhRQTtBcEtsU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVLcVRBO0FyS3JUQTs7O0FxS3lUQTtBdksvU0E7QUFnQkE7O0F1S21TQTtBdks3VEE7O0F1S2dVQTtBcktoVUE7OztBcUtvVUE7QXZLMVRBO0FBZ0JBOztBdUs4U0E7QXBLbFVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBdUt1VkE7QXJLdlZBOzs7QXFLMlZBO0F2S2pWQTtBQWdCQTs7QXVLcVVBO0F2Sy9WQTs7QXVLa1dBO0FyS2xXQTs7O0FxS3NXQTtBdks1VkE7QUFnQkE7O0F1S2dWQTtBcEtwV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVLdVhBO0FyS3ZYQTs7O0FxSzJYQTtBdktqWEE7QUFnQkE7O0F1S3FXQTtBdksvWEE7O0F1S2tZQTtBcktsWUE7OztBcUtzWUE7QXZLNVhBO0FBZ0JBOztBdUtnWEE7QXBLcFlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QXpDTkE7O0F1S3laQTtBckt6WkE7OztBcUs2WkE7QXZLblpBO0FBZ0JBOztBdUt1WUE7QUNuWkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FoS2toQkE7QWdLaGhCQTtBQUVBO0FBSUE7QUFDQTtBaEt5Z0JBO0FnSzFnQkE7QUFJQTtBQUNBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFEQTtBN0hMQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFtQkE7QUFVQTtBQUFBO0FBbUtBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0E2SDlNQTtBbktqREE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FQK2dCQTtBZ0t4ZkE7QW5LakRBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeUorQkE7QUFDQTtBQURBO0FBSUE7QUFDQTtBQ3BEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QWpLa2hCQTtBaUtoaEJBO0FBRUE7QUFJQTtBQUNBO0FqS3lnQkE7QWlLMWdCQTtBQUlBO0FBQ0E7QUFMQTtBQVVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW5CQTtBQXFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUJBO0FBZ0NBO0FBQ0E7QUFDQTtBQWxDQTtBQXVDQTtBQUNBO0FBeENBO0FBMENBO0FBMUNBO0FBNENBO0FBNUNBO0FBaURBO0FBTUE7QUFDQTtBQURBO0E5SGxEQTtBOEhrREE7QTlIOUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbUJBO0FBVUE7QUFBQTtBOEhXQTtBOUgwSkE7QUFDQTtBOEgzSkE7QTlIK0pBO0E4SC9KQTtBOUhvS0E7QUFDQTtBOEhyS0E7QTlIeUtBO0E4SGpLQTtBcEs5RkE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FQK2dCQTtBaUszY0E7QXBLOUZBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMEo0RUE7QUFDQTtBQURBO0FBSUE7O0F6SzlHQTs7QTBLRUE7QXhLRkE7OztBd0tNQTtBMUtJQTtBQWdCQTs7QTBLaEJBO0ExS1ZBOztBMEthQTtBeEtiQTs7O0F3S2lCQTtBMUtQQTtBQWdCQTs7QTBLTEE7QXZLZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXdLRkE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQWtCQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQVBBO0FBV0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUxBO0FBU0E7QUFJQTtBQUNBO0FBQ0E7O0EzS3ZHQTs7QTRLRUE7QTFLRkE7OztBMEtNQTtBNUtJQTtBQWdCQTs7QTRLaEJBO0E1S1ZBOztBNEthQTtBMUtiQTs7O0EwS2lCQTtBNUtQQTtBQWdCQTs7QTRLTEE7QXpLZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTRLa0NBO0ExS2xDQTs7O0EwS3NDQTtBNUs1QkE7QUFnQkE7O0E0S2dCQTtBNUsxQ0E7O0E0SzZDQTtBMUs3Q0E7OztBMEtpREE7QTVLdkNBO0FBZ0JBOztBNEsyQkE7QXpLL0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBeUp3RUE7QXhKeEVBO0FBU0E7QXlCVEE7QUFtREE7QUNXQTtBM0I5REE7Ozs7Ozs7O0F5SnNGQTtBeEp0RkE7QUFTQTtBcEJUQTs7QTRLMkZBO0ExSzNGQTs7O0EwSytGQTtBNUtyRkE7QUFnQkE7O0E0S3lFQTtBMUhuR0E7Ozs7Ozs7OztBMEg2R0E7QUNoRkE7QUFHQTtBcks2Z0JBO0FxS2hoQkE7QUFNQTtBQUdBO0FBQ0E7QXJLc2dCQTtBcUt2Z0JBO0FBSUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJLbWVBO0FxS3ZlQTtBQU9BO0FBQ0E7QUFSQTtBQWFBO0FBQ0E7QUFDQTtBQWZBO0FBa0JBO0FBQ0E7QUFuQkE7QS9Ib0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QStIeERBO0FBMEJBO0FBMUJBO0FBK0JBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcktnYkE7QXFLcGJBO0FBUUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJLNlpBO0FxS2phQTtBQVFBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBcktnWkE7QXFLblpBO0FBTUE7QUFJQTtBdkoxRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXVKMERBO0F2SmFBO0FBQ0E7QUFDQTtBdUpmQTtBdkpxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBdUovQkE7QXZKa0NBO0FBQ0E7QXVKbkNBO0F2SndGQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXVKaEdBO0F2Sm1HQTtBQUNBO0F1SnBHQTtBdkpxSkE7QUFDQTtBZG1QQTtBcUt6WUE7QUFPQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7O0EzSG5LQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBMkg0S0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBckxBO0FBeUxBO0FBQ0E7O0E3S3ZOQTs7QThLRUE7QTVLRkE7OztBNEtNQTtBOUtJQTtBQWdCQTs7QThLaEJBO0E5S1ZBOztBOEthQTtBNUtiQTs7O0E0S2lCQTtBOUtQQTtBQWdCQTs7QThLTEE7QTNLZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0EySndDQTtBMUp4Q0E7QUFTQTtBcEJUQTs7QThLNkNBO0E1SzdDQTs7O0E0S2lEQTtBOUt2Q0E7QUFnQkE7O0E4SzJCQTtBQ3RCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkt1Z0JBO0F1SzlnQkE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZLcWVBO0F1SzFlQTtBQU9BO0FBQ0E7QUFJQTtBekpXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBeUpyQkE7QUFOQTtBeEpoRUE7QXdKZ0VBO0F4SnpEQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0F3SmtEQTtBeEp4Q0E7QUFDQTtBQUNBO0FBSUE7QXdKa0NBO0F4SlpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBd0pPQTtBeEpDQTtBd0pEQTtBekprR0E7QUFDQTtBQUNBO0F5SnBHQTtBekowR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBeUpwSEE7QXpKdUhBO0FBQ0E7QXlKeEhBO0F6SjZLQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXlKckxBO0F6SndMQTtBQUNBO0F5SnpMQTtBekowT0E7QUFDQTtBZG1QQTtBdUs5ZEE7QUFTQTtBQUlBO0F6SndPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QXlKeFBBO0F6SmdUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBeUpsVUE7QUFDQTtBQUNBO0F2S2ljQTtBdUtuY0E7QUFLQTtBQUNBO0F2SzZiQTtBdUtuY0E7QUFVQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdks2YUE7QXVLcmJBO0FBV0E7QUFDQTtBdkt5YUE7QXVLcmJBO0FBZ0JBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZLMFdBO0F1Sy9XQTtBQVFBO0F2S3VXQTtBdUsvV0E7QUFZQTtBQVpBO0FBZ0JBOztBL0s5TUE7O0FnTEVBO0E5S0ZBOzs7QThLTUE7QWhMSUE7QUFnQkE7O0FnTGhCQTtBaExWQTs7QWdMYUE7QTlLYkE7OztBOEtpQkE7QWhMUEE7QUFnQkE7O0FnTExBO0E3S2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FnTGtDQTtBOUtsQ0E7OztBOEtzQ0E7QWhMNUJBO0FBZ0JBOztBZ0xnQkE7QUNoQkE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpLMmdCQTtBeUsvZ0JBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQWlCQTtBQTNCQTtBQWtDQTtBQUVBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBWUE7QUFaQTtBQWdCQTtBQUNBO0FBakJBO0FBcUJBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6SzJZQTtBeUt0WkE7QUFjQTtBekt3WUE7QXlLdFpBO0FBa0JBO0FBQ0E7QUFDQTtBQXBCQTtBQTJCQTtBQTNCQTtBQStCQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpLNldBO0F5S3BYQTtBQVVBO0FBVkE7QUFpQkE7QUFNQTtBQUVBO0FBRkE7QUFNQTtBQUtBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7O0FDak9BOzs7QUNHQTtBbkxIQTs7QW1MTUE7QWpMTkE7OztBaUxVQTtBbkxBQTtBQWdCQTs7QW1MWkE7QW5MZEE7O0FtTGlCQTtBakxqQkE7OztBaUxxQkE7QW5MWEE7QUFnQkE7O0FtTERBO0FoTG5CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBbUxzQ0E7QWpMdENBOzs7QWlMMENBO0FuTGhDQTtBQWdCQTs7QW1Mb0JBO0FqSTlDQTs7Ozs7Ozs7O0FpSXdEQTtBbkx4REE7O0FtTDJEQTtBakwzREE7OztBaUwrREE7QW5MckRBO0FBZ0JBOztBbUx5Q0E7QW5MbkVBOztBbUxzRUE7QWpMdEVBOzs7QWlMMEVBO0FuTGhFQTtBQWdCQTs7QW1Mb0RBO0FoTHhFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QW1MNkZBO0FqTDdGQTs7O0FpTGlHQTtBbkx2RkE7QUFnQkE7O0FtTDJFQTtBbkxyR0E7O0FtTHdHQTtBakx4R0E7OztBaUw0R0E7QW5MbEdBO0FBZ0JBOztBbUxzRkE7QWhMMUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FtTDZIQTtBakw3SEE7OztBaUxpSUE7QW5MdkhBO0FBZ0JBOztBbUwyR0E7QW5McklBOztBbUx3SUE7QWpMeElBOzs7QWlMNElBO0FuTGxJQTtBQWdCQTs7QW1Mc0hBO0FoTDFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QW1MK0pBO0FqTC9KQTs7O0FpTG1LQTtBbkx6SkE7QUFnQkE7O0FtTDZJQTtBbkx2S0E7O0FtTDBLQTtBakwxS0E7OztBaUw4S0E7QW5McEtBO0FBZ0JBOztBbUx3SkE7QWhMNUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErQ2ZBOzs7Ozs7Ozs7QWlJc01BO0FuTHRNQTs7QW1MeU1BO0FqTHpNQTs7O0FpTDZNQTtBbkxuTUE7QUFnQkE7O0FtTHVMQTtBbkxqTkE7O0FtTG9OQTtBakxwTkE7OztBaUx3TkE7QW5MOU1BO0FBZ0JBOztBbUxrTUE7QWhMdE5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FpTGZBO0FBTUE7QUYwQkE7QUFFQTtBQUNBO0ExSzBnQkE7QTBLM2dCQTtBQUlBO0FBQ0E7QTFLc2dCQTtBMEtqZ0JBO0FBQ0E7QUFYQTtBQW1CQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FoSS9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBZ0l1Q0E7QUFXQTtBQVhBO0FBY0E7QUFDQTtBQWZBO0FBc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExQkE7QUFnQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ExSzZjQTtBMEtsZkE7QUF5Q0E7QUF6Q0E7QUE2Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFuREE7QUF3REE7QTFLMGJBO0EwS3JiQTtBQUVBO0FBL0RBO0FBc0VBO0FBdEVBO0FBNEVBO0ExS3NhQTtBMEtsZkE7QUErRUE7QUEvRUE7QUFtRkE7QTFLK1pBO0EwS2xmQTtBQXdGQTtBQXhGQTs7Ozs7Ozs7QUFvR0E7QUFwR0E7Ozs7QUE0R0E7QUFDQTtBQTdHQTtBQWdIQTtBQUNBO0ExS2lZQTtBMEs1WEE7QUczRUE7QUFDQTtBQUNBO0FBQ0E7QUh3RUE7QUdwS0E7QUFDQTtBQUNBO0FIa0tBO0FHL0pBO0FIK0pBO0FHM0pBO0FIMkpBO0FHdkpBO0FBQ0E7QUFDQTtBQUNBO0FIb0pBO0FHakpBO0FIaUpBO0FHN0lBO0E3S3lnQkE7QTBLNVhBO0FHdklBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0s4ZkE7QTBLNVhBO0FHM0hBO0E3S3VmQTtBMEs1WEE7QWhJcktBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QTFDd2hCQTtBMEs1WEE7QUcvR0E7QUgrR0E7QUc1R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIdUdBO0FHbkdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSDhGQTtBRzFGQTtBSDBGQTs7QUdyRkE7QUhxRkE7O0FBYUE7QUFiQTtBQW1CQTtBQW5CQTtBQXdCQTtBQUNBO0FBV0E7QUFFQTtBQUZBO0FBTUE7QUFOQTs7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUtBOztBR2xJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3S21jQTtBMEtyVUE7O0FHM05BO0FBQ0E7QUFDQTtBSHlOQTs7QUd0TkE7QUhzTkE7O0FHbE5BO0FIa05BOztBRzlNQTtBQUNBO0FBQ0E7QUFDQTtBSDJNQTs7QUd4TUE7QUh3TUE7O0FHcE1BO0E3S3lnQkE7QTBLclVBOztBRzlMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdLOGZBO0EwS3JVQTs7QUdsTEE7QTdLdWZBO0EwS3JVQTs7QWhJNU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QTFDd2hCQTtBMEtyVUE7O0FHdEtBO0FIc0tBOztBR25LQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUg4SkE7O0FHMUpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSHFKQTs7QUdqSkE7QUhpSkE7Ozs7QUc1SUE7QUFDQTtBSHNKQTs7QWxMblBBOztBc0xFQTtBcExGQTs7O0FvTE1BO0F0TElBO0FBZ0JBOztBc0xoQkE7QXRMVkE7O0FzTGFBO0FwTGJBOzs7QW9MaUJBO0F0TFBBO0FBZ0JBOztBc0xMQTtBbkxmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBc0xrQ0E7QXBMbENBOzs7QW9Mc0NBO0F0TDVCQTtBQWdCQTs7QXNMZ0JBO0F0TDFDQTs7QXNMNkNBO0FwTDdDQTs7O0FvTGlEQTtBdEx2Q0E7QUFnQkE7O0FzTDJCQTtBbktyREE7Ozs7Ozs7O0FtSzhEQTtBbEs5REE7QUFTQTtBbUs4QkE7QUFHQTtBQUNBO0FBQ0E7QS9LaWdCQTtBK0t0Z0JBO0FBUUE7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0EvS29mQTtBK0tyZkE7QUFJQTtBQUNBO0FBTEE7QUFRQTtBQVJBO0FBWUE7QS9LeWVBO0ErS25lQTtBQUdBO0FBU0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBdERBO0FBMkRBO0FBQ0E7QUFDQTtBL0t5Y0E7QStLdGdCQTtBQWtFQTtBQWxFQTtBQXVFQTtBQUlBO0FqS3hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBaUtRQTtBakt5QkE7QWlLekJBO0FqSytEQTtBQUNBO0FBQ0E7QWlLakVBO0FqS3VFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FpSzVGQTtBaksrRkE7QUFDQTtBaUtoR0E7QWpLMElBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBaUs3SkE7QWpLZ0tBO0FBQ0E7QWlLaktBO0FqS3VNQTtBQUNBO0FpS3hNQTtBaktpU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQXlCQTtBQUNBO0FpS3hUQTtBQUNBO0FBSUE7QWpLaU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaUNBO0FBY0E7QUFDQTtBa0sxWEE7QUFDQTtBQUNBO0FBQ0E7QXhMSEE7O0FzTGtMQTtBcExsTEE7OztBb0xzTEE7QXRMNUtBO0FBZ0JBOztBc0xnS0E7QXRMMUxBOztBc0w2TEE7QXBMN0xBOzs7QW9MaU1BO0F0THZMQTtBQWdCQTs7QXNMMktBO0FuTC9MQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBc0xrTkE7QXBMbE5BOzs7QW9Mc05BO0F0TDVNQTtBQWdCQTs7QXNMZ01BO0F0TDFOQTs7QXNMNk5BO0FwTDdOQTs7O0FvTGlPQTtBdEx2TkE7QUFnQkE7O0FzTDJNQTtBRzNOQTtBQUNBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QXpMeEJBOztBc0xpUEE7QXBMalBBOzs7QW9McVBBO0F0TDNPQTtBQWdCQTs7QXNMK05BO0F0THpQQTs7QXNMNFBBO0FwTDVQQTs7O0FvTGdRQTtBdEx0UEE7QUFnQkE7O0FzTDBPQTtBbkw5UEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNMaVJBO0FwTGpSQTs7O0FvTHFSQTtBdEwzUUE7QUFnQkE7O0FzTCtQQTtBdEx6UkE7O0FzTDRSQTtBcEw1UkE7OztBb0xnU0E7QXRMdFJBO0FBZ0JBOztBc0wwUUE7QXRMcFNBOztBc0x1U0E7QXBMdlNBOzs7QW9MMlNBO0F0TGpTQTtBQWdCQTs7QXNMcVJBO0F0TC9TQTs7QXNMa1RBO0FwTGxUQTs7O0FvTHNUQTtBdEw1U0E7QUFnQkE7O0FzTGdTQTtBbkxwVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNMdVVBO0FwTHZVQTs7O0FvTDJVQTtBdExqVUE7QUFnQkE7O0FzTHFUQTtBdEwvVUE7O0FzTGtWQTtBcExsVkE7OztBb0xzVkE7QXRMNVVBO0FBZ0JBOztBc0xnVUE7QXhKMVZBOztBd0o2VkE7QUk3VkE7QUFZQTtBQ0dBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBOztBQUdBO0FBRUE7O0FBQ0E7QUFHQTs7QUFDQTtBQUtBO0E3SnJDQTtBQUNBO0FBQ0E7QThKR0E7QUFHQTtBRGlDQTtBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBSUE7QURBQTtBQ0dBO0FBQ0E7QURKQTtBQ1FBO0FBQ0E7QURMQTtBQzhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEM0NBO0FDK0NBO0FBQ0E7QURoREE7QUNzREE7QUFDQTtBQUNBO0FBQ0E7QUR0REE7QUNtRUE7QUFDQTtBQUNBO0FEM0dBOzs7QUE4Q0E7QUFDQTtBQUNBO0FBS0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVNBO0FBQ0E7QUFWQTtBQWFBO0FBQ0E7QTNMbEZBOztBc0xpYkE7QXBMamJBOzs7QW9McWJBO0F0TDNhQTtBQWdCQTs7QXNMK1pBO0F0THpiQTs7QXNMNGJBO0FwTDViQTs7O0FvTGdjQTtBdEx0YkE7QUFnQkE7O0FzTDBhQTtBbkw5YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNMaWRBO0FwTGpkQTs7O0FvTHFkQTtBdEwzY0E7QUFnQkE7O0FzTCtiQTtBdEx6ZEE7O0FzTDRkQTtBcEw1ZEE7OztBb0xnZUE7QXRMdGRBO0FBZ0JBOztBc0wwY0E7QXRMcGVBOztBc0x1ZUE7QXBMdmVBOzs7QW9MMmVBO0F0TGplQTtBQWdCQTs7QXNMcWRBO0F0TC9lQTs7QXNMa2ZBO0FwTGxmQTs7O0FvTHNmQTtBdEw1ZUE7QUFnQkE7O0FzTGdlQTtBbkxwZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0FtSzZnQkE7QWxLN2dCQTtBQVNBO0F5QlRBO0FBbURBO0FDV0E7QTlDOURBOztBc0xxaEJBO0FwTHJoQkE7OztBb0x5aEJBO0F0TC9nQkE7QUFnQkE7O0FzTG1nQkE7QXRMN2hCQTs7QXNMZ2lCQTtBcExoaUJBOzs7QW9Mb2lCQTtBdEwxaEJBO0FBZ0JBOztBc0w4Z0JBO0FuTGxpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNMcWpCQTtBcExyakJBOzs7QW9MeWpCQTtBdEwvaUJBO0FBZ0JBOztBc0xtaUJBO0F0TDdqQkE7O0FzTGdrQkE7QXBMaGtCQTs7O0FvTG9rQkE7QXRMMWpCQTtBQWdCQTs7QXNMOGlCQTtBeEp4a0JBOztBd0oya0JBO0FJM2tCQTtBQVlBO0FHWUE7QUFnQkE7O0FQeWlCQTtBT2poQkE7O0FQb2hCQTtBT3pqQkE7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBTUE7QS9KOURBO0FBQ0E7QUFDQTtBOEpHQTtBQUdBO0FDMERBO0FEekNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQ29CQTtBREtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFJQTtBQUNBO0FBQ0E7QUN2Q0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBOzs7QUFHQTtBQUNBO0E3TGpIQTs7QXNMZ3JCQTtBcExockJBOzs7QW9Mb3JCQTtBdEwxcUJBO0FBZ0JBOztBc0w4cEJBO0F0THhyQkE7O0FzTDJyQkE7QXBMM3JCQTs7O0FvTCtyQkE7QXRMcnJCQTtBQWdCQTs7QXNMeXFCQTtBbkw3ckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FzTGd0QkE7QXBMaHRCQTs7O0FvTG90QkE7QXRMMXNCQTtBQWdCQTs7QXNMOHJCQTtBdEx4dEJBOztBc0wydEJBO0FwTDN0QkE7OztBb0wrdEJBO0F0THJ0QkE7QUFnQkE7O0FzTHlzQkE7QXRMbnVCQTs7QXNMc3VCQTtBcEx0dUJBOzs7QW9MMHVCQTtBdExodUJBO0FBZ0JBOztBc0xvdEJBO0F0TDl1QkE7O0FzTGl2QkE7QXBManZCQTs7O0FvTHF2QkE7QXRMM3VCQTtBQWdCQTs7QXNMK3RCQTtBbkxudkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FzTHN3QkE7QXBMdHdCQTs7O0FvTDB3QkE7QXRMaHdCQTtBQWdCQTs7QXNMb3ZCQTtBdEw5d0JBOztBc0xpeEJBO0FwTGp4QkE7OztBb0xxeEJBO0F0TDN3QkE7QUFnQkE7O0FzTCt2QkE7QXhKenhCQTs7QXdKNHhCQTtBSTV4QkE7QUFZQTtBSVNBO0FBR0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FoSzlCQTtBQUNBO0FBQ0E7QThKR0E7QUFHQTtBQUNBO0FwTCtoQkE7QXNMMWdCQTtBQUVBO0FBTUE7QUZiQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUVSQTtBRmlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FFM0NBO0FBQ0E7QUFDQTtBRjJDQTtBQUVBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFJQTtBQUNBO0FBQ0E7QUUvREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFkQTtBQWtCQTs7QTlMN0VBOztBK0xFQTtBN0xGQTs7O0E2TE1BO0EvTElBO0FBZ0JBOztBK0xoQkE7QS9MVkE7O0ErTGFBO0E3TGJBOzs7QTZMaUJBO0EvTFBBO0FBZ0JBOztBK0xMQTtBNUxmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBK0xrQ0E7QTdMbENBOzs7QTZMc0NBO0EvTDVCQTtBQWdCQTs7QStMZ0JBO0E1SzFDQTs7Ozs7Ozs7QTRLbURBO0EzS25EQTtBQVNBO0FwQlRBOztBK0x3REE7QTdMeERBOzs7QTZMNERBO0EvTGxEQTtBQWdCQTs7QStMc0NBO0EvTGhFQTs7QStMbUVBO0E3TG5FQTs7O0E2THVFQTtBL0w3REE7QUFnQkE7O0ErTGlEQTtBNUxyRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0E0SzhGQTtBM0s5RkE7QUFTQTtBeUJUQTtBQW1EQTtBQ1dBO0FrSm5EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0F4TDBoQkE7QXdMNWhCQTtBQUtBO0FBQ0E7QXhMc2hCQTtBd0xsaUJBO0FBaUJBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBMUtzREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QTBLdEVBO0ExSzZJQTtBQUNBO0FBQ0E7QTBLL0lBO0ExS3FKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0EwSzFLQTtBMUs2S0E7QUFDQTtBMEs5S0E7QTFLd05BO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBMEszT0E7QTFLOE9BO0FBQ0E7QTBLL09BO0ExS3FSQTtBQUNBO0EwS2hSQTtBQUNBO0F4TGtnQkE7QXdMbmdCQTtBQUlBO0FBQ0E7QUFJQTtBMUtpUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMEtqUkE7QWxKb0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWtKbkpBO0FBQ0E7QUFDQTs7Iiwic291cmNlUm9vdCI6IiJ9*/